webpackJsonp([0, 1, 2], [function (e, t, n) {
  var i = n(25)("wks"), o = n(16), r = n(1).Symbol, a = "function" == typeof r;
  (e.exports = function (e) {
    return i[e] || (i[e] = a && r[e] || (a ? r : o)("Symbol." + e))
  }).store = i
}, , , , , , , , , function (e, t, n) {
  var i = n(56), o = n(23);
  e.exports = function (e) {
    return i(o(e))
  }
}, , function (e, t) {
  e.exports = !0
}, function (e, t) {
  e.exports = {}
}, function (e, t) {
  var n = {}.toString;
  e.exports = function (e) {
    return n.call(e).slice(8, -1)
  }
}, function (e, t, n) {
  var i = n(43), o = n(26);
  e.exports = Object.keys || function (e) {
    return i(e, o)
  }
}, , function (e, t) {
  var n = 0, i = Math.random();
  e.exports = function (e) {
    return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + i).toString(36))
  }
}, function (e, t, n) {
  var i = n(4).f, o = n(8), r = n(0)("toStringTag");
  e.exports = function (e, t, n) {
    e && !o(e = n ? e : e.prototype, r) && i(e, r, {configurable: !0, value: t})
  }
}, function (e, t) {
  t.f = {}.propertyIsEnumerable
}, , , , function (e, t) {
  var n = Math.ceil, i = Math.floor;
  e.exports = function (e) {
    return isNaN(e = +e) ? 0 : (e > 0 ? i : n)(e)
  }
}, function (e, t) {
  e.exports = function (e) {
    if (void 0 == e) throw TypeError("Can't call method on  " + e);
    return e
  }
}, function (e, t, n) {
  var i = n(25)("keys"), o = n(16);
  e.exports = function (e) {
    return i[e] || (i[e] = o(e))
  }
}, function (e, t, n) {
  var i = n(2), o = n(1), r = o["__core-js_shared__"] || (o["__core-js_shared__"] = {});
  (e.exports = function (e, t) {
    return r[e] || (r[e] = void 0 !== t ? t : {})
  })("versions", []).push({
    version: i.version,
    mode: n(11) ? "pure" : "global",
    copyright: "漏 2018 Denis Pushkarev (zloirock.ru)"
  })
}, function (e, t) {
  e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
}, function (e, t, n) {
  "use strict";

  function i(e) {
    var t, n;
    this.promise = new e(function (e, i) {
      if (void 0 !== t || void 0 !== n) throw TypeError("Bad Promise constructor");
      t = e, n = i
    }), this.resolve = o(t), this.reject = o(n)
  }

  var o = n(20);
  e.exports.f = function (e) {
    return new i(e)
  }
}, function (e, t, n) {
  t.f = n(0)
}, function (e, t, n) {
  var i = n(1), o = n(2), r = n(11), a = n(28), s = n(4).f;
  e.exports = function (e) {
    var t = o.Symbol || (o.Symbol = r ? {} : i.Symbol || {});
    "_" == e.charAt(0) || e in t || s(t, e, {value: a.f(e)})
  }
}, function (e, t, n) {
  e.exports = {default: n(67), __esModule: !0}
}, function (e, t, n) {
  var i = n(23);
  e.exports = function (e) {
    return Object(i(e))
  }
}, function (e, t, n) {
  "use strict";

  function i(e) {
    return e && e.__esModule ? e : {default: e}
  }

  t.__esModule = !0;
  var o = n(92), r = i(o), a = n(94), s = i(a),
    l = "function" == typeof s.default && "symbol" == typeof r.default ? function (e) {
      return typeof e
    } : function (e) {
      return e && "function" == typeof s.default && e.constructor === s.default && e !== s.default.prototype ? "symbol" : typeof e
    };
  t.default = "function" == typeof s.default && "symbol" === l(r.default) ? function (e) {
    return void 0 === e ? "undefined" : l(e)
  } : function (e) {
    return e && "function" == typeof s.default && e.constructor === s.default && e !== s.default.prototype ? "symbol" : void 0 === e ? "undefined" : l(e)
  }
}, function (e, t) {
  t.f = Object.getOwnPropertySymbols
}, , , function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), n.d(t, "requestPhoneResource", function () {
    return r
  }), n.d(t, "requestUpload", function () {
    return a
  }), n.d(t, "requestUpToken", function () {
    return s
  }), n.d(t, "requestPhotoModel", function () {
    return l
  }), n.d(t, "requestWxConfig", function () {
    return c
  }), n.d(t, "requestPhoneName", function () {
    return u
  });
  var i = n(37), o = "https://wechatapp.lmbang.com", r = function (e, t) {
    return Object(i.a)(o + "/phone/getPhoneModelResource", {phone_id: e, t_skey: t}, "get")
  }, a = function (e, t) {
    return Object(i.a)(o + "/phone/uploadImg?t_skey=" + t, e, "post")
  }, s = function (e) {
    return Object(i.a)("https://m.lmbang.com/yinji-album/upToken", {t_skey: e}, "get")
  }, l = function (e) {
    return Object(i.a)(o + "/phone/getTemplate", {t_skey: e}, "get")
  }, c = function (e) {
    return Object(i.a)(o + "/wechat/getJsSign", {wxFrom: 5, url: e}, "post", "application/json")
  }, u = function (e, t) {
    return Object(i.a)(o + "/phone/getPhoneBaseInfo", {phone_id: e, t_skey: t}, "get")
  }
}, function (e, t, n) {
  "use strict";
  var i = n(64), o = n.n(i), r = n(30), a = n.n(r), s = n(57), l = n.n(s), c = n(32), u = n.n(c), h = n(104),
    f = n.n(h), d = n(108), p = n.n(d), m = this;
  t.a = function () {
    var e = p()(o.a.mark(function e() {
      var t, n, i = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
        r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
        s = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "GET",
        c = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "application/x-www-form-urlencoded";
      return o.a.wrap(function (e) {
        for (; ;) switch (e.prev = e.next) {
          case 0:
            return s = s.toUpperCase(), t = "", n = "", f()(r).forEach(function (e) {
              "object" == u()(r[e]) && (r[e] = l()(r[e])), n += e + "=" + r[e] + "&"
            }), "" !== n && (n = n.substr(0, n.lastIndexOf("&"))), "GET" == s ? "" !== n && (i = i + "?" + n) : t = l()(r), e.abrupt("return", new a.a(function (e, o) {
              var a = void 0;
              a = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP"), a.open(s, i, !0), "mutipart-formData" == c ? a.send(r) : (a.setRequestHeader("Content-type", c), "application/json" == c ? a.send(t) : a.send(n)), a.onreadystatechange = function () {
                if (4 === a.readyState) if (200 === a.status) {
                  var t = a.response;
                  "object" !== (void 0 === t ? "undefined" : u()(t)) && (t = JSON.parse(t)), e(t)
                } else o(a.response)
              }
            }));
          case 7:
          case"end":
            return e.stop()
        }
      }, e, m)
    }));
    return function () {
      return e.apply(this, arguments)
    }
  }()
}, function (e, t) {
}, function (e, t, n) {
  "use strict";
  var i = n(68)(!0);
  n(40)(String, "String", function (e) {
    this._t = String(e), this._i = 0
  }, function () {
    var e, t = this._t, n = this._i;
    return n >= t.length ? {value: void 0, done: !0} : (e = i(t, n), this._i += e.length, {value: e, done: !1})
  })
}, function (e, t, n) {
  "use strict";
  var i = n(11), o = n(3), r = n(41), a = n(6), s = n(12), l = n(69), c = n(17), u = n(73), h = n(0)("iterator"),
    f = !([].keys && "next" in [].keys()), d = function () {
      return this
    };
  e.exports = function (e, t, n, p, m, g, v) {
    l(n, t, p);
    var y, _, b, w = function (e) {
        if (!f && e in P) return P[e];
        switch (e) {
          case"keys":
          case"values":
            return function () {
              return new n(this, e)
            }
        }
        return function () {
          return new n(this, e)
        }
      }, x = t + " Iterator", T = "values" == m, S = !1, P = e.prototype, k = P[h] || P["@@iterator"] || m && P[m],
      E = k || w(m), j = m ? T ? w("entries") : E : void 0, O = "Array" == t ? P.entries || k : k;
    if (O && (b = u(O.call(new e))) !== Object.prototype && b.next && (c(b, x, !0), i || "function" == typeof b[h] || a(b, h, d)), T && k && "values" !== k.name && (S = !0, E = function () {
        return k.call(this)
      }), i && !v || !f && !S && P[h] || a(P, h, E), s[t] = E, s[x] = d, m) if (y = {
        values: T ? E : w("values"),
        keys: g ? E : w("keys"),
        entries: j
      }, v) for (_ in y) _ in P || r(P, _, y[_]); else o(o.P + o.F * (f || S), t, y);
    return y
  }
}, function (e, t, n) {
  e.exports = n(6)
}, function (e, t, n) {
  var i = n(5), o = n(70), r = n(26), a = n(24)("IE_PROTO"), s = function () {
  }, l = function () {
    var e, t = n(34)("iframe"), i = r.length;
    for (t.style.display = "none", n(45).appendChild(t), t.src = "javascript:", e = t.contentWindow.document, e.open(), e.write("<script>document.F=Object<\/script>"), e.close(), l = e.F; i--;) delete l.prototype[r[i]];
    return l()
  };
  e.exports = Object.create || function (e, t) {
    var n;
    return null !== e ? (s.prototype = i(e), n = new s, s.prototype = null, n[a] = e) : n = l(), void 0 === t ? n : o(n, t)
  }
}, function (e, t, n) {
  var i = n(8), o = n(9), r = n(71)(!1), a = n(24)("IE_PROTO");
  e.exports = function (e, t) {
    var n, s = o(e), l = 0, c = [];
    for (n in s) n != a && i(s, n) && c.push(n);
    for (; t.length > l;) i(s, n = t[l++]) && (~r(c, n) || c.push(n));
    return c
  }
}, function (e, t, n) {
  var i = n(22), o = Math.min;
  e.exports = function (e) {
    return e > 0 ? o(i(e), 9007199254740991) : 0
  }
}, function (e, t, n) {
  var i = n(1).document;
  e.exports = i && i.documentElement
}, function (e, t, n) {
  n(74);
  for (var i = n(1), o = n(6), r = n(12), a = n(0)("toStringTag"), s = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), l = 0; l < s.length; l++) {
    var c = s[l], u = i[c], h = u && u.prototype;
    h && !h[a] && o(h, a, c), r[c] = r.Array
  }
}, function (e, t, n) {
  var i = n(13), o = n(0)("toStringTag"), r = "Arguments" == i(function () {
    return arguments
  }()), a = function (e, t) {
    try {
      return e[t]
    } catch (e) {
    }
  };
  e.exports = function (e) {
    var t, n, s;
    return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof(n = a(t = Object(e), o)) ? n : r ? i(t) : "Object" == (s = i(t)) && "function" == typeof t.callee ? "Arguments" : s
  }
}, function (e, t, n) {
  var i = n(5), o = n(20), r = n(0)("species");
  e.exports = function (e, t) {
    var n, a = i(e).constructor;
    return void 0 === a || void 0 == (n = i(a)[r]) ? t : o(n)
  }
}, function (e, t, n) {
  var i, o, r, a = n(19), s = n(83), l = n(45), c = n(34), u = n(1), h = u.process, f = u.setImmediate,
    d = u.clearImmediate, p = u.MessageChannel, m = u.Dispatch, g = 0, v = {}, y = function () {
      var e = +this;
      if (v.hasOwnProperty(e)) {
        var t = v[e];
        delete v[e], t()
      }
    }, _ = function (e) {
      y.call(e.data)
    };
  f && d || (f = function (e) {
    for (var t = [], n = 1; arguments.length > n;) t.push(arguments[n++]);
    return v[++g] = function () {
      s("function" == typeof e ? e : Function(e), t)
    }, i(g), g
  }, d = function (e) {
    delete v[e]
  }, "process" == n(13)(h) ? i = function (e) {
    h.nextTick(a(y, e, 1))
  } : m && m.now ? i = function (e) {
    m.now(a(y, e, 1))
  } : p ? (o = new p, r = o.port2, o.port1.onmessage = _, i = a(r.postMessage, r, 1)) : u.addEventListener && "function" == typeof postMessage && !u.importScripts ? (i = function (e) {
    u.postMessage(e + "", "*")
  }, u.addEventListener("message", _, !1)) : i = "onreadystatechange" in c("script") ? function (e) {
    l.appendChild(c("script")).onreadystatechange = function () {
      l.removeChild(this), y.call(e)
    }
  } : function (e) {
    setTimeout(a(y, e, 1), 0)
  }), e.exports = {set: f, clear: d}
}, function (e, t) {
  e.exports = function (e) {
    try {
      return {e: !1, v: e()}
    } catch (e) {
      return {e: !0, v: e}
    }
  }
}, function (e, t, n) {
  var i = n(5), o = n(10), r = n(27);
  e.exports = function (e, t) {
    if (i(e), o(t) && t.constructor === e) return t;
    var n = r.f(e);
    return (0, n.resolve)(t), n.promise
  }
}, function (e, t, n) {
  var i = n(43), o = n(26).concat("length", "prototype");
  t.f = Object.getOwnPropertyNames || function (e) {
    return i(e, o)
  }
}, function (e, t, n) {
  "use strict";
  t.__esModule = !0, t.default = function (e, t) {
    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
  }
}, function (e, t, n) {
  "use strict";
  t.__esModule = !0;
  var i = n(55), o = function (e) {
    return e && e.__esModule ? e : {default: e}
  }(i);
  t.default = function () {
    function e(e, t) {
      for (var n = 0; n < t.length; n++) {
        var i = t[n];
        i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), (0, o.default)(e, i.key, i)
      }
    }

    return function (t, n, i) {
      return n && e(t.prototype, n), i && e(t, i), t
    }
  }()
}, function (e, t, n) {
  e.exports = {default: n(60), __esModule: !0}
}, function (e, t, n) {
  var i = n(13);
  e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
    return "String" == i(e) ? e.split("") : Object(e)
  }
}, function (e, t, n) {
  e.exports = {default: n(91), __esModule: !0}
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), n.d(t, "roundRect", function () {
    return i
  }), n.d(t, "cal", function () {
    return o
  }), n.d(t, "GetRequest", function () {
    return r
  }), n.d(t, "createObjectURL", function () {
    return a
  }), n.d(t, "isIphoneX", function () {
    return s
  });
  var i = function (e, t, n, i, o, r) {
    return i < 2 * r && (r = i / 2), o < 2 * r && (r = o / 2), e.beginPath(), e.moveTo(t + r, n), e.arcTo(t + i, n, t + i, n + o, r), e.arcTo(t + i, n + o, t, n + o, r), e.arcTo(t, n + o, t, n, r), e.arcTo(t, n, t + i, n, r), e.closePath(), e
  }, o = function (e) {
    return Number((e / 667 * document.body.clientHeight).toFixed(2))
  }, r = function () {
    var e = location.search, t = new Object;
    if (-1 != e.indexOf("?")) for (var n = e.substr(1), i = n.split("&"), o = 0; o < i.length; o++) {
      var r = decodeURIComponent(i[o].split("=")[1]);
      "undefined" == r && (r = ""), t[i[o].split("=")[0]] = r
    }
    return t
  }, a = function (e) {
    return window.URL ? window.URL.createObjectURL(e) : window.webkitURL.createObjectURL(e)
  }, s = function () {
    return /iphone/gi.test(navigator.userAgent) && 812 == screen.height && 375 == screen.width
  }
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), n.d(t, "Finger", function () {
    return s
  });
  var i = n(53), o = n.n(i), r = n(54), a = n.n(r), s = function () {
    function e(t) {
      o()(this, e), this.el_item = t.el_item, this.phoneH = t.phoneH, this.phoneW = t.phoneW, this.type = t.type, this.fold = t.fold, this.K = t.K, this.diff = t.diff, this.rela_el = t.rela_el, this.initScale = 1, this.el_object = {}, this.init()
    }

    return a()(e, [{
      key: "init", value: function () {
        this.bindFingerEvent(this.type, this.el_item)
      }
    }, {
      key: "bindFingerEvent", value: function (e, t) {
        var n = this;
        Transform(t), new AlloyFinger(t, {
          rotate: function (e) {
            n.rotate(e), n.rela_el && n.rela_el.rotate(e)
          }, multipointStart: function () {
            n.initScale = n.el_item.scaleX, n.rela_el && (n.rela_el.initScale = n.el_item.scaleX)
          }, pinch: function (e) {
            n.pinch(e), n.rela_el && n.rela_el.pinch(e)
          }, pressMove: function (e) {
            n.pressMove(12, e), n.rela_el && n.rela_el.pressMove(12, e)
          }, doubleTap: function () {
          }, touchMove: function (e) {
            e.preventDefault()
          }, touchEnd: function (e) {
            document.getElementsByClassName("h_line")[0].style.display = "none", document.getElementsByClassName("v_line")[0].style.display = "none", e.preventDefault()
          }
        })
      }
    }, {
      key: "pressMove", value: function (e, t) {
        var n = (this.phoneW * this.K + this.diff) / 2 - this.el_object.width / 2,
          i = (this.phoneH * this.K + this.diff) / 2 - this.el_object.height / 2;
        this.el_object.t == i ? (document.getElementsByClassName("h_line")[0].style.display = "block", t.deltaY > 5 ? this.el_object.t += 10 : t.deltaY < -5 && (this.el_object.t -= 10)) : (document.getElementsByClassName("h_line")[0].style.display = "none", t.deltaY > 0 ? i - this.el_object.t < 10 && i - this.el_object.t > 0 ? this.el_object.t = i : this.el_object.t += t.deltaY : t.deltaY < 0 && (i - this.el_object.t < 0 && i - this.el_object.t > -10 ? this.el_object.t = i : this.el_object.t += t.deltaY)), this.el_object.l == n ? (document.getElementsByClassName("v_line")[0].style.display = "block", t.deltaX > 5 ? this.el_object.l += 10 : t.deltaX < -5 && (this.el_object.l -= 10)) : (document.getElementsByClassName("v_line")[0].style.display = "none", t.deltaX > 0 ? n - this.el_object.l < 10 && n - this.el_object.l > 0 ? this.el_object.l = n : this.el_object.l += t.deltaX : t.deltaX < 0 && (n - this.el_object.l < 0 && n - this.el_object.l > -10 ? this.el_object.l = n : this.el_object.l += t.deltaX)), this.el_item.translateY = this.el_object.t, this.el_item.translateX = this.el_object.l, t.preventDefault()
      }
    }, {
      key: "pinch", value: function (e) {
        e.preventDefault(), this.el_object.scaleX = this.el_object.scaleX = this.initScale * e.zoom, this.el_item.scaleX = this.el_item.scaleY = this.initScale * e.zoom
      }
    }, {
      key: "rotate", value: function (e) {
        var t = this.el_object.angle;
        this.el_object.angle % 90 == 0 ? e.angle > 2 ? this.el_object.angle += 10 : e.angle < -2 && (this.el_object.angle -= 10) : e.angle > 0 ? t > -10 && t < 0 ? this.el_object.angle = 0 : t > 80 && t < 90 ? this.el_object.angle = 90 : t > 170 && t < 180 ? this.el_object.angle = 180 : t > 260 && t < 270 ? this.el_object.angle = 270 : t > 350 && t < 360 ? this.el_object.angle = 0 : t > -100 && t < -90 ? this.el_object.angle = -90 : t > -190 && t < -180 ? this.el_object.angle = -180 : t > -280 && t < -270 ? this.el_object.angle = -270 : this.el_object.angle += e.angle : e.angle < 0 && (t > 0 && t < 10 ? this.el_object.angle = 0 : t > -90 && t < -80 ? this.el_object.angle = -90 : t > -180 && t < -170 ? this.el_object.angle = -180 : t > -270 && t < -260 ? this.el_object.angle = -270 : t > -360 && t < -350 ? this.el_object.angle = 0 : t > 180 && t < 190 ? this.el_object.angle = 180 : t > 90 && t < 100 ? this.el_object.angle = 90 : t > 0 && t < 10 ? this.el_object.angle = 0 : this.el_object.angle += e.angle), e.preventDefault(), this.el_item.rotateZ = this.el_object.angle
      }
    }]), e
  }()
}, function (e, t, n) {
  n(61);
  var i = n(2).Object;
  e.exports = function (e, t, n) {
    return i.defineProperty(e, t, n)
  }
}, function (e, t, n) {
  var i = n(3);
  i(i.S + i.F * !n(7), "Object", {defineProperty: n(4).f})
}, , function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), n.d(t, "SJK", function () {
    return f
  });
  var i = n(36), o = i.requestUpToken, r = i.requestPhotoModel, a = n(109), s = n(58), l = s.isIphoneX, c = null,
    u = null, h = null, f = {
      checkIphonex: function () {
        l() && (document.getElementById("web").className = "fix-iphonex")
      }, checkTimeOut: function (e) {
        var t = this;
        clearTimeout(u), u = setTimeout(function () {
          "wifi" == e ? t.renderToast("褰撳墠缃戦€熻緝鎱紝鍙Щ鍔ㄨ嚦缃戦€熻緝濂界殑浣嶇疆缁х画涓婁紶", !0) : t.renderToast("褰撳墠缃戦€熻緝鎱紝浣犲彲灏濊瘯鏇存崲涓篧IFI缃戠粶鍚庝笂浼�", !0)
        }, 2e4)
      }, clearCheckTime: function () {
        clearTimeout(u), u = null
      }, renderToast: function (e, t) {
        var n = document.getElementsByClassName("toast")[0];
        n.innerHTML = e, n.style.display = "inline-block", t || (clearTimeout(c), c = setTimeout(function () {
          n.style.display = "none"
        }, 1500))
      }, loadingCount: function () {
        var e = document.getElementsByClassName("mask")[0], t = e.getElementsByClassName("per")[0],
          n = parseInt(5 * Math.random()), i = 0, o = [50, 60, 70, 80, 90], r = [10, 20, 50, 80, 100],
          a = [1, 2, 3, 4, 5];
        e.getElementsByClassName("loading-tips")[0].style.display = "block";
        !function e(s, l) {
          h = setTimeout(function () {
            if (i += l, t.innerHTML = i + "%", parseInt(i) >= o[n]) clearTimeout(h); else {
              var s = parseInt(5 * Math.random());
              e(r[s], a[s])
            }
          }, s)
        }(r[n], a[n])
      }, clearLoadTime: function (e) {
        var t = document.getElementsByClassName("mask")[0], n = t.getElementsByClassName("per")[0],
          i = parseInt(n.innerHTML);
        clearTimeout(h), h = setInterval(function () {
          i += 10, n.innerHTML = i + "%", parseInt(i) >= 100 && (clearInterval(h), t.style.display = "none", t.getElementsByClassName("loading-tips")[0].style.display = "none", "function" == typeof e && e())
        }, 10)
      }, uploadQiniu: function (e, t, n) {
        var i = this, r = 0, s = t.length, l = {}, c = function () {
          ++r >= s && (i.clearCheckTime(), "function" == typeof n && n(l))
        }, u = function (t) {
          o(e).then(function (e) {
            if (0 == e.ret) {
              var n = e.data,
                i = {region: n.region, uploadURL: n.uploadURL, domain: n.domain, uptoken: n.token, name: t.name};
              a.upload(t.blob, h, f, i)
            }
          })
        }, h = function (e) {
          l[e.name] = e.imageURL, c()
        }, f = function (e) {
          u(e)
        };
        for (var d in t) u(t[d])
      }, renderPhotoModel: function (e) {
        var t = document.getElementsByClassName("photo-wrap")[0].getElementsByTagName("ul")[0], n = "";
        r(e).then(function (e) {
          if (0 == e.code) {
            var i = e.data.list;
            for (var o in i) {
              var r = i[o];
              n += '<li data-url="' + r.tem_source + '">                              <div class="img-wrap">                                  <img src="' + r.tem_thumb + '">                              </div>                              <p>' + r.title + "</p>                          </li>"
            }
            t.innerHTML = n
          } else console.log(e)
        }).catch(function (e) {
          console.log(e)
        })
      }
    }
}, function (e, t, n) {
  e.exports = n(65)
}, function (e, t, n) {
  var i = function () {
      return this
    }() || Function("return this")(),
    o = i.regeneratorRuntime && Object.getOwnPropertyNames(i).indexOf("regeneratorRuntime") >= 0,
    r = o && i.regeneratorRuntime;
  if (i.regeneratorRuntime = void 0, e.exports = n(66), o) i.regeneratorRuntime = r; else try {
    delete i.regeneratorRuntime
  } catch (e) {
    i.regeneratorRuntime = void 0
  }
}, function (e, t) {
  !function (t) {
    "use strict";

    function n(e, t, n, i) {
      var r = t && t.prototype instanceof o ? t : o, a = Object.create(r.prototype), s = new d(i || []);
      return a._invoke = c(e, n, s), a
    }

    function i(e, t, n) {
      try {
        return {type: "normal", arg: e.call(t, n)}
      } catch (e) {
        return {type: "throw", arg: e}
      }
    }

    function o() {
    }

    function r() {
    }

    function a() {
    }

    function s(e) {
      ["next", "throw", "return"].forEach(function (t) {
        e[t] = function (e) {
          return this._invoke(t, e)
        }
      })
    }

    function l(e) {
      function t(n, o, r, a) {
        var s = i(e[n], e, o);
        if ("throw" !== s.type) {
          var l = s.arg, c = l.value;
          return c && "object" == typeof c && y.call(c, "__await") ? Promise.resolve(c.__await).then(function (e) {
            t("next", e, r, a)
          }, function (e) {
            t("throw", e, r, a)
          }) : Promise.resolve(c).then(function (e) {
            l.value = e, r(l)
          }, a)
        }
        a(s.arg)
      }

      function n(e, n) {
        function i() {
          return new Promise(function (i, o) {
            t(e, n, i, o)
          })
        }

        return o = o ? o.then(i, i) : i()
      }

      var o;
      this._invoke = n
    }

    function c(e, t, n) {
      var o = P;
      return function (r, a) {
        if (o === E) throw new Error("Generator is already running");
        if (o === j) {
          if ("throw" === r) throw a;
          return m()
        }
        for (n.method = r, n.arg = a; ;) {
          var s = n.delegate;
          if (s) {
            var l = u(s, n);
            if (l) {
              if (l === O) continue;
              return l
            }
          }
          if ("next" === n.method) n.sent = n._sent = n.arg; else if ("throw" === n.method) {
            if (o === P) throw o = j, n.arg;
            n.dispatchException(n.arg)
          } else "return" === n.method && n.abrupt("return", n.arg);
          o = E;
          var c = i(e, t, n);
          if ("normal" === c.type) {
            if (o = n.done ? j : k, c.arg === O) continue;
            return {value: c.arg, done: n.done}
          }
          "throw" === c.type && (o = j, n.method = "throw", n.arg = c.arg)
        }
      }
    }

    function u(e, t) {
      var n = e.iterator[t.method];
      if (n === g) {
        if (t.delegate = null, "throw" === t.method) {
          if (e.iterator.return && (t.method = "return", t.arg = g, u(e, t), "throw" === t.method)) return O;
          t.method = "throw", t.arg = new TypeError("The iterator does not provide a 'throw' method")
        }
        return O
      }
      var o = i(n, e.iterator, t.arg);
      if ("throw" === o.type) return t.method = "throw", t.arg = o.arg, t.delegate = null, O;
      var r = o.arg;
      return r ? r.done ? (t[e.resultName] = r.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = g), t.delegate = null, O) : r : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, O)
    }

    function h(e) {
      var t = {tryLoc: e[0]};
      1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t)
    }

    function f(e) {
      var t = e.completion || {};
      t.type = "normal", delete t.arg, e.completion = t
    }

    function d(e) {
      this.tryEntries = [{tryLoc: "root"}], e.forEach(h, this), this.reset(!0)
    }

    function p(e) {
      if (e) {
        var t = e[b];
        if (t) return t.call(e);
        if ("function" == typeof e.next) return e;
        if (!isNaN(e.length)) {
          var n = -1, i = function t() {
            for (; ++n < e.length;) if (y.call(e, n)) return t.value = e[n], t.done = !1, t;
            return t.value = g, t.done = !0, t
          };
          return i.next = i
        }
      }
      return {next: m}
    }

    function m() {
      return {value: g, done: !0}
    }

    var g, v = Object.prototype, y = v.hasOwnProperty, _ = "function" == typeof Symbol ? Symbol : {},
      b = _.iterator || "@@iterator", w = _.asyncIterator || "@@asyncIterator", x = _.toStringTag || "@@toStringTag",
      T = "object" == typeof e, S = t.regeneratorRuntime;
    if (S) return void(T && (e.exports = S));
    S = t.regeneratorRuntime = T ? e.exports : {}, S.wrap = n;
    var P = "suspendedStart", k = "suspendedYield", E = "executing", j = "completed", O = {}, F = {};
    F[b] = function () {
      return this
    };
    var C = Object.getPrototypeOf, M = C && C(C(p([])));
    M && M !== v && y.call(M, b) && (F = M);
    var L = a.prototype = o.prototype = Object.create(F);
    r.prototype = L.constructor = a, a.constructor = r, a[x] = r.displayName = "GeneratorFunction", S.isGeneratorFunction = function (e) {
      var t = "function" == typeof e && e.constructor;
      return !!t && (t === r || "GeneratorFunction" === (t.displayName || t.name))
    }, S.mark = function (e) {
      return Object.setPrototypeOf ? Object.setPrototypeOf(e, a) : (e.__proto__ = a, x in e || (e[x] = "GeneratorFunction")), e.prototype = Object.create(L), e
    }, S.awrap = function (e) {
      return {__await: e}
    }, s(l.prototype), l.prototype[w] = function () {
      return this
    }, S.AsyncIterator = l, S.async = function (e, t, i, o) {
      var r = new l(n(e, t, i, o));
      return S.isGeneratorFunction(t) ? r : r.next().then(function (e) {
        return e.done ? e.value : r.next()
      })
    }, s(L), L[x] = "Generator", L[b] = function () {
      return this
    }, L.toString = function () {
      return "[object Generator]"
    }, S.keys = function (e) {
      var t = [];
      for (var n in e) t.push(n);
      return t.reverse(), function n() {
        for (; t.length;) {
          var i = t.pop();
          if (i in e) return n.value = i, n.done = !1, n
        }
        return n.done = !0, n
      }
    }, S.values = p, d.prototype = {
      constructor: d, reset: function (e) {
        if (this.prev = 0, this.next = 0, this.sent = this._sent = g, this.done = !1, this.delegate = null, this.method = "next", this.arg = g, this.tryEntries.forEach(f), !e) for (var t in this) "t" === t.charAt(0) && y.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = g)
      }, stop: function () {
        this.done = !0;
        var e = this.tryEntries[0], t = e.completion;
        if ("throw" === t.type) throw t.arg;
        return this.rval
      }, dispatchException: function (e) {
        function t(t, i) {
          return r.type = "throw", r.arg = e, n.next = t, i && (n.method = "next", n.arg = g), !!i
        }

        if (this.done) throw e;
        for (var n = this, i = this.tryEntries.length - 1; i >= 0; --i) {
          var o = this.tryEntries[i], r = o.completion;
          if ("root" === o.tryLoc) return t("end");
          if (o.tryLoc <= this.prev) {
            var a = y.call(o, "catchLoc"), s = y.call(o, "finallyLoc");
            if (a && s) {
              if (this.prev < o.catchLoc) return t(o.catchLoc, !0);
              if (this.prev < o.finallyLoc) return t(o.finallyLoc)
            } else if (a) {
              if (this.prev < o.catchLoc) return t(o.catchLoc, !0)
            } else {
              if (!s) throw new Error("try statement without catch or finally");
              if (this.prev < o.finallyLoc) return t(o.finallyLoc)
            }
          }
        }
      }, abrupt: function (e, t) {
        for (var n = this.tryEntries.length - 1; n >= 0; --n) {
          var i = this.tryEntries[n];
          if (i.tryLoc <= this.prev && y.call(i, "finallyLoc") && this.prev < i.finallyLoc) {
            var o = i;
            break
          }
        }
        o && ("break" === e || "continue" === e) && o.tryLoc <= t && t <= o.finallyLoc && (o = null);
        var r = o ? o.completion : {};
        return r.type = e, r.arg = t, o ? (this.method = "next", this.next = o.finallyLoc, O) : this.complete(r)
      }, complete: function (e, t) {
        if ("throw" === e.type) throw e.arg;
        return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), O
      }, finish: function (e) {
        for (var t = this.tryEntries.length - 1; t >= 0; --t) {
          var n = this.tryEntries[t];
          if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), f(n), O
        }
      }, catch: function (e) {
        for (var t = this.tryEntries.length - 1; t >= 0; --t) {
          var n = this.tryEntries[t];
          if (n.tryLoc === e) {
            var i = n.completion;
            if ("throw" === i.type) {
              var o = i.arg;
              f(n)
            }
            return o
          }
        }
        throw new Error("illegal catch attempt")
      }, delegateYield: function (e, t, n) {
        return this.delegate = {iterator: p(e), resultName: t, nextLoc: n}, "next" === this.method && (this.arg = g), O
      }
    }
  }(function () {
    return this
  }() || Function("return this")())
}, function (e, t, n) {
  n(38), n(39), n(46), n(77), n(89), n(90), e.exports = n(2).Promise
}, function (e, t, n) {
  var i = n(22), o = n(23);
  e.exports = function (e) {
    return function (t, n) {
      var r, a, s = String(o(t)), l = i(n), c = s.length;
      return l < 0 || l >= c ? e ? "" : void 0 : (r = s.charCodeAt(l), r < 55296 || r > 56319 || l + 1 === c || (a = s.charCodeAt(l + 1)) < 56320 || a > 57343 ? e ? s.charAt(l) : r : e ? s.slice(l, l + 2) : a - 56320 + (r - 55296 << 10) + 65536)
    }
  }
}, function (e, t, n) {
  "use strict";
  var i = n(42), o = n(21), r = n(17), a = {};
  n(6)(a, n(0)("iterator"), function () {
    return this
  }), e.exports = function (e, t, n) {
    e.prototype = i(a, {next: o(1, n)}), r(e, t + " Iterator")
  }
}, function (e, t, n) {
  var i = n(4), o = n(5), r = n(14);
  e.exports = n(7) ? Object.defineProperties : function (e, t) {
    o(e);
    for (var n, a = r(t), s = a.length, l = 0; s > l;) i.f(e, n = a[l++], t[n]);
    return e
  }
}, function (e, t, n) {
  var i = n(9), o = n(44), r = n(72);
  e.exports = function (e) {
    return function (t, n, a) {
      var s, l = i(t), c = o(l.length), u = r(a, c);
      if (e && n != n) {
        for (; c > u;) if ((s = l[u++]) != s) return !0
      } else for (; c > u; u++) if ((e || u in l) && l[u] === n) return e || u || 0;
      return !e && -1
    }
  }
}, function (e, t, n) {
  var i = n(22), o = Math.max, r = Math.min;
  e.exports = function (e, t) {
    return e = i(e), e < 0 ? o(e + t, 0) : r(e, t)
  }
}, function (e, t, n) {
  var i = n(8), o = n(31), r = n(24)("IE_PROTO"), a = Object.prototype;
  e.exports = Object.getPrototypeOf || function (e) {
    return e = o(e), i(e, r) ? e[r] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null
  }
}, function (e, t, n) {
  "use strict";
  var i = n(75), o = n(76), r = n(12), a = n(9);
  e.exports = n(40)(Array, "Array", function (e, t) {
    this._t = a(e), this._i = 0, this._k = t
  }, function () {
    var e = this._t, t = this._k, n = this._i++;
    return !e || n >= e.length ? (this._t = void 0, o(1)) : "keys" == t ? o(0, n) : "values" == t ? o(0, e[n]) : o(0, [n, e[n]])
  }, "values"), r.Arguments = r.Array, i("keys"), i("values"), i("entries")
}, function (e, t) {
  e.exports = function () {
  }
}, function (e, t) {
  e.exports = function (e, t) {
    return {value: t, done: !!e}
  }
}, function (e, t, n) {
  "use strict";
  var i, o, r, a, s = n(11), l = n(1), c = n(19), u = n(47), h = n(3), f = n(10), d = n(20), p = n(78), m = n(79),
    g = n(48), v = n(49).set, y = n(84)(), _ = n(27), b = n(50), w = n(85), x = n(51), T = l.TypeError, S = l.process,
    P = S && S.versions, k = P && P.v8 || "", E = l.Promise, j = "process" == u(S), O = function () {
    }, F = o = _.f, C = !!function () {
      try {
        var e = E.resolve(1), t = (e.constructor = {})[n(0)("species")] = function (e) {
          e(O, O)
        };
        return (j || "function" == typeof PromiseRejectionEvent) && e.then(O) instanceof t && 0 !== k.indexOf("6.6") && -1 === w.indexOf("Chrome/66")
      } catch (e) {
      }
    }(), M = function (e) {
      var t;
      return !(!f(e) || "function" != typeof(t = e.then)) && t
    }, L = function (e, t) {
      if (!e._n) {
        e._n = !0;
        var n = e._c;
        y(function () {
          for (var i = e._v, o = 1 == e._s, r = 0; n.length > r;) !function (t) {
            var n, r, a, s = o ? t.ok : t.fail, l = t.resolve, c = t.reject, u = t.domain;
            try {
              s ? (o || (2 == e._h && U(e), e._h = 1), !0 === s ? n = i : (u && u.enter(), n = s(i), u && (u.exit(), a = !0)), n === t.promise ? c(T("Promise-chain cycle")) : (r = M(n)) ? r.call(n, l, c) : l(n)) : c(i)
            } catch (e) {
              u && !a && u.exit(), c(e)
            }
          }(n[r++]);
          e._c = [], e._n = !1, t && !e._h && I(e)
        })
      }
    }, I = function (e) {
      v.call(l, function () {
        var t, n, i, o = e._v, r = N(e);
        if (r && (t = b(function () {
            j ? S.emit("unhandledRejection", o, e) : (n = l.onunhandledrejection) ? n({
              promise: e,
              reason: o
            }) : (i = l.console) && i.error && i.error("Unhandled promise rejection", o)
          }), e._h = j || N(e) ? 2 : 1), e._a = void 0, r && t.e) throw t.v
      })
    }, N = function (e) {
      return 1 !== e._h && 0 === (e._a || e._c).length
    }, U = function (e) {
      v.call(l, function () {
        var t;
        j ? S.emit("rejectionHandled", e) : (t = l.onrejectionhandled) && t({promise: e, reason: e._v})
      })
    }, R = function (e) {
      var t = this;
      t._d || (t._d = !0, t = t._w || t, t._v = e, t._s = 2, t._a || (t._a = t._c.slice()), L(t, !0))
    }, D = function (e) {
      var t, n = this;
      if (!n._d) {
        n._d = !0, n = n._w || n;
        try {
          if (n === e) throw T("Promise can't be resolved itself");
          (t = M(e)) ? y(function () {
            var i = {_w: n, _d: !1};
            try {
              t.call(e, c(D, i, 1), c(R, i, 1))
            } catch (e) {
              R.call(i, e)
            }
          }) : (n._v = e, n._s = 1, L(n, !1))
        } catch (e) {
          R.call({_w: n, _d: !1}, e)
        }
      }
    };
  C || (E = function (e) {
    p(this, E, "Promise", "_h"), d(e), i.call(this);
    try {
      e(c(D, this, 1), c(R, this, 1))
    } catch (e) {
      R.call(this, e)
    }
  }, i = function (e) {
    this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1
  }, i.prototype = n(86)(E.prototype, {
    then: function (e, t) {
      var n = F(g(this, E));
      return n.ok = "function" != typeof e || e, n.fail = "function" == typeof t && t, n.domain = j ? S.domain : void 0, this._c.push(n), this._a && this._a.push(n), this._s && L(this, !1), n.promise
    }, catch: function (e) {
      return this.then(void 0, e)
    }
  }), r = function () {
    var e = new i;
    this.promise = e, this.resolve = c(D, e, 1), this.reject = c(R, e, 1)
  }, _.f = F = function (e) {
    return e === E || e === a ? new r(e) : o(e)
  }), h(h.G + h.W + h.F * !C, {Promise: E}), n(17)(E, "Promise"), n(87)("Promise"), a = n(2).Promise, h(h.S + h.F * !C, "Promise", {
    reject: function (e) {
      var t = F(this);
      return (0, t.reject)(e), t.promise
    }
  }), h(h.S + h.F * (s || !C), "Promise", {
    resolve: function (e) {
      return x(s && this === a ? E : this, e)
    }
  }), h(h.S + h.F * !(C && n(88)(function (e) {
    E.all(e).catch(O)
  })), "Promise", {
    all: function (e) {
      var t = this, n = F(t), i = n.resolve, o = n.reject, r = b(function () {
        var n = [], r = 0, a = 1;
        m(e, !1, function (e) {
          var s = r++, l = !1;
          n.push(void 0), a++, t.resolve(e).then(function (e) {
            l || (l = !0, n[s] = e, --a || i(n))
          }, o)
        }), --a || i(n)
      });
      return r.e && o(r.v), n.promise
    }, race: function (e) {
      var t = this, n = F(t), i = n.reject, o = b(function () {
        m(e, !1, function (e) {
          t.resolve(e).then(n.resolve, i)
        })
      });
      return o.e && i(o.v), n.promise
    }
  })
}, function (e, t) {
  e.exports = function (e, t, n, i) {
    if (!(e instanceof t) || void 0 !== i && i in e) throw TypeError(n + ": incorrect invocation!");
    return e
  }
}, function (e, t, n) {
  var i = n(19), o = n(80), r = n(81), a = n(5), s = n(44), l = n(82), c = {}, u = {},
    t = e.exports = function (e, t, n, h, f) {
      var d, p, m, g, v = f ? function () {
        return e
      } : l(e), y = i(n, h, t ? 2 : 1), _ = 0;
      if ("function" != typeof v) throw TypeError(e + " is not iterable!");
      if (r(v)) {
        for (d = s(e.length); d > _; _++) if ((g = t ? y(a(p = e[_])[0], p[1]) : y(e[_])) === c || g === u) return g
      } else for (m = v.call(e); !(p = m.next()).done;) if ((g = o(m, y, p.value, t)) === c || g === u) return g
    };
  t.BREAK = c, t.RETURN = u
}, function (e, t, n) {
  var i = n(5);
  e.exports = function (e, t, n, o) {
    try {
      return o ? t(i(n)[0], n[1]) : t(n)
    } catch (t) {
      var r = e.return;
      throw void 0 !== r && i(r.call(e)), t
    }
  }
}, function (e, t, n) {
  var i = n(12), o = n(0)("iterator"), r = Array.prototype;
  e.exports = function (e) {
    return void 0 !== e && (i.Array === e || r[o] === e)
  }
}, function (e, t, n) {
  var i = n(47), o = n(0)("iterator"), r = n(12);
  e.exports = n(2).getIteratorMethod = function (e) {
    if (void 0 != e) return e[o] || e["@@iterator"] || r[i(e)]
  }
}, function (e, t) {
  e.exports = function (e, t, n) {
    var i = void 0 === n;
    switch (t.length) {
      case 0:
        return i ? e() : e.call(n);
      case 1:
        return i ? e(t[0]) : e.call(n, t[0]);
      case 2:
        return i ? e(t[0], t[1]) : e.call(n, t[0], t[1]);
      case 3:
        return i ? e(t[0], t[1], t[2]) : e.call(n, t[0], t[1], t[2]);
      case 4:
        return i ? e(t[0], t[1], t[2], t[3]) : e.call(n, t[0], t[1], t[2], t[3])
    }
    return e.apply(n, t)
  }
}, function (e, t, n) {
  var i = n(1), o = n(49).set, r = i.MutationObserver || i.WebKitMutationObserver, a = i.process, s = i.Promise,
    l = "process" == n(13)(a);
  e.exports = function () {
    var e, t, n, c = function () {
      var i, o;
      for (l && (i = a.domain) && i.exit(); e;) {
        o = e.fn, e = e.next;
        try {
          o()
        } catch (i) {
          throw e ? n() : t = void 0, i
        }
      }
      t = void 0, i && i.enter()
    };
    if (l) n = function () {
      a.nextTick(c)
    }; else if (!r || i.navigator && i.navigator.standalone) if (s && s.resolve) {
      var u = s.resolve(void 0);
      n = function () {
        u.then(c)
      }
    } else n = function () {
      o.call(i, c)
    }; else {
      var h = !0, f = document.createTextNode("");
      new r(c).observe(f, {characterData: !0}), n = function () {
        f.data = h = !h
      }
    }
    return function (i) {
      var o = {fn: i, next: void 0};
      t && (t.next = o), e || (e = o, n()), t = o
    }
  }
}, function (e, t, n) {
  var i = n(1), o = i.navigator;
  e.exports = o && o.userAgent || ""
}, function (e, t, n) {
  var i = n(6);
  e.exports = function (e, t, n) {
    for (var o in t) n && e[o] ? e[o] = t[o] : i(e, o, t[o]);
    return e
  }
}, function (e, t, n) {
  "use strict";
  var i = n(1), o = n(2), r = n(4), a = n(7), s = n(0)("species");
  e.exports = function (e) {
    var t = "function" == typeof o[e] ? o[e] : i[e];
    a && t && !t[s] && r.f(t, s, {
      configurable: !0, get: function () {
        return this
      }
    })
  }
}, function (e, t, n) {
  var i = n(0)("iterator"), o = !1;
  try {
    var r = [7][i]();
    r.return = function () {
      o = !0
    }, Array.from(r, function () {
      throw 2
    })
  } catch (e) {
  }
  e.exports = function (e, t) {
    if (!t && !o) return !1;
    var n = !1;
    try {
      var r = [7], a = r[i]();
      a.next = function () {
        return {done: n = !0}
      }, r[i] = function () {
        return a
      }, e(r)
    } catch (e) {
    }
    return n
  }
}, function (e, t, n) {
  "use strict";
  var i = n(3), o = n(2), r = n(1), a = n(48), s = n(51);
  i(i.P + i.R, "Promise", {
    finally: function (e) {
      var t = a(this, o.Promise || r.Promise), n = "function" == typeof e;
      return this.then(n ? function (n) {
        return s(t, e()).then(function () {
          return n
        })
      } : e, n ? function (n) {
        return s(t, e()).then(function () {
          throw n
        })
      } : e)
    }
  })
}, function (e, t, n) {
  "use strict";
  var i = n(3), o = n(27), r = n(50);
  i(i.S, "Promise", {
    try: function (e) {
      var t = o.f(this), n = r(e);
      return (n.e ? t.reject : t.resolve)(n.v), t.promise
    }
  })
}, function (e, t, n) {
  var i = n(2), o = i.JSON || (i.JSON = {stringify: JSON.stringify});
  e.exports = function (e) {
    return o.stringify.apply(o, arguments)
  }
}, function (e, t, n) {
  e.exports = {default: n(93), __esModule: !0}
}, function (e, t, n) {
  n(39), n(46), e.exports = n(28).f("iterator")
}, function (e, t, n) {
  e.exports = {default: n(95), __esModule: !0}
}, function (e, t, n) {
  n(96), n(38), n(102), n(103), e.exports = n(2).Symbol
}, function (e, t, n) {
  "use strict";
  var i = n(1), o = n(8), r = n(7), a = n(3), s = n(41), l = n(97).KEY, c = n(15), u = n(25), h = n(17), f = n(16),
    d = n(0), p = n(28), m = n(29), g = n(98), v = n(99), y = n(5), _ = n(10), b = n(9), w = n(35), x = n(21),
    T = n(42), S = n(100), P = n(101), k = n(4), E = n(14), j = P.f, O = k.f, F = S.f, C = i.Symbol, M = i.JSON,
    L = M && M.stringify, I = d("_hidden"), N = d("toPrimitive"), U = {}.propertyIsEnumerable, R = u("symbol-registry"),
    D = u("symbols"), A = u("op-symbols"), B = Object.prototype, q = "function" == typeof C, G = i.QObject,
    X = !G || !G.prototype || !G.prototype.findChild, H = r && c(function () {
      return 7 != T(O({}, "a", {
        get: function () {
          return O(this, "a", {value: 7}).a
        }
      })).a
    }) ? function (e, t, n) {
      var i = j(B, t);
      i && delete B[t], O(e, t, n), i && e !== B && O(B, t, i)
    } : O, Y = function (e) {
      var t = D[e] = T(C.prototype);
      return t._k = e, t
    }, K = q && "symbol" == typeof C.iterator ? function (e) {
      return "symbol" == typeof e
    } : function (e) {
      return e instanceof C
    }, W = function (e, t, n) {
      return e === B && W(A, t, n), y(e), t = w(t, !0), y(n), o(D, t) ? (n.enumerable ? (o(e, I) && e[I][t] && (e[I][t] = !1), n = T(n, {enumerable: x(0, !1)})) : (o(e, I) || O(e, I, x(1, {})), e[I][t] = !0), H(e, t, n)) : O(e, t, n)
    }, V = function (e, t) {
      y(e);
      for (var n, i = g(t = b(t)), o = 0, r = i.length; r > o;) W(e, n = i[o++], t[n]);
      return e
    }, z = function (e, t) {
      return void 0 === t ? T(e) : V(T(e), t)
    }, J = function (e) {
      var t = U.call(this, e = w(e, !0));
      return !(this === B && o(D, e) && !o(A, e)) && (!(t || !o(this, e) || !o(D, e) || o(this, I) && this[I][e]) || t)
    }, Z = function (e, t) {
      if (e = b(e), t = w(t, !0), e !== B || !o(D, t) || o(A, t)) {
        var n = j(e, t);
        return !n || !o(D, t) || o(e, I) && e[I][t] || (n.enumerable = !0), n
      }
    }, Q = function (e) {
      for (var t, n = F(b(e)), i = [], r = 0; n.length > r;) o(D, t = n[r++]) || t == I || t == l || i.push(t);
      return i
    }, $ = function (e) {
      for (var t, n = e === B, i = F(n ? A : b(e)), r = [], a = 0; i.length > a;) !o(D, t = i[a++]) || n && !o(B, t) || r.push(D[t]);
      return r
    };
  q || (C = function () {
    if (this instanceof C) throw TypeError("Symbol is not a constructor!");
    var e = f(arguments.length > 0 ? arguments[0] : void 0), t = function (n) {
      this === B && t.call(A, n), o(this, I) && o(this[I], e) && (this[I][e] = !1), H(this, e, x(1, n))
    };
    return r && X && H(B, e, {configurable: !0, set: t}), Y(e)
  }, s(C.prototype, "toString", function () {
    return this._k
  }), P.f = Z, k.f = W, n(52).f = S.f = Q, n(18).f = J, n(33).f = $, r && !n(11) && s(B, "propertyIsEnumerable", J, !0), p.f = function (e) {
    return Y(d(e))
  }), a(a.G + a.W + a.F * !q, {Symbol: C});
  for (var ee = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), te = 0; ee.length > te;) d(ee[te++]);
  for (var ne = E(d.store), ie = 0; ne.length > ie;) m(ne[ie++]);
  a(a.S + a.F * !q, "Symbol", {
    for: function (e) {
      return o(R, e += "") ? R[e] : R[e] = C(e)
    }, keyFor: function (e) {
      if (!K(e)) throw TypeError(e + " is not a symbol!");
      for (var t in R) if (R[t] === e) return t
    }, useSetter: function () {
      X = !0
    }, useSimple: function () {
      X = !1
    }
  }), a(a.S + a.F * !q, "Object", {
    create: z,
    defineProperty: W,
    defineProperties: V,
    getOwnPropertyDescriptor: Z,
    getOwnPropertyNames: Q,
    getOwnPropertySymbols: $
  }), M && a(a.S + a.F * (!q || c(function () {
    var e = C();
    return "[null]" != L([e]) || "{}" != L({a: e}) || "{}" != L(Object(e))
  })), "JSON", {
    stringify: function (e) {
      for (var t, n, i = [e], o = 1; arguments.length > o;) i.push(arguments[o++]);
      if (n = t = i[1], (_(t) || void 0 !== e) && !K(e)) return v(t) || (t = function (e, t) {
        if ("function" == typeof n && (t = n.call(this, e, t)), !K(t)) return t
      }), i[1] = t, L.apply(M, i)
    }
  }), C.prototype[N] || n(6)(C.prototype, N, C.prototype.valueOf), h(C, "Symbol"), h(Math, "Math", !0), h(i.JSON, "JSON", !0)
}, function (e, t, n) {
  var i = n(16)("meta"), o = n(10), r = n(8), a = n(4).f, s = 0, l = Object.isExtensible || function () {
    return !0
  }, c = !n(15)(function () {
    return l(Object.preventExtensions({}))
  }), u = function (e) {
    a(e, i, {value: {i: "O" + ++s, w: {}}})
  }, h = function (e, t) {
    if (!o(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
    if (!r(e, i)) {
      if (!l(e)) return "F";
      if (!t) return "E";
      u(e)
    }
    return e[i].i
  }, f = function (e, t) {
    if (!r(e, i)) {
      if (!l(e)) return !0;
      if (!t) return !1;
      u(e)
    }
    return e[i].w
  }, d = function (e) {
    return c && p.NEED && l(e) && !r(e, i) && u(e), e
  }, p = e.exports = {KEY: i, NEED: !1, fastKey: h, getWeak: f, onFreeze: d}
}, function (e, t, n) {
  var i = n(14), o = n(33), r = n(18);
  e.exports = function (e) {
    var t = i(e), n = o.f;
    if (n) for (var a, s = n(e), l = r.f, c = 0; s.length > c;) l.call(e, a = s[c++]) && t.push(a);
    return t
  }
}, function (e, t, n) {
  var i = n(13);
  e.exports = Array.isArray || function (e) {
    return "Array" == i(e)
  }
}, function (e, t, n) {
  var i = n(9), o = n(52).f, r = {}.toString,
    a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [],
    s = function (e) {
      try {
        return o(e)
      } catch (e) {
        return a.slice()
      }
    };
  e.exports.f = function (e) {
    return a && "[object Window]" == r.call(e) ? s(e) : o(i(e))
  }
}, function (e, t, n) {
  var i = n(18), o = n(21), r = n(9), a = n(35), s = n(8), l = n(62), c = Object.getOwnPropertyDescriptor;
  t.f = n(7) ? c : function (e, t) {
    if (e = r(e), t = a(t, !0), l) try {
      return c(e, t)
    } catch (e) {
    }
    if (s(e, t)) return o(!i.f.call(e, t), e[t])
  }
}, function (e, t, n) {
  n(29)("asyncIterator")
}, function (e, t, n) {
  n(29)("observable")
}, function (e, t, n) {
  e.exports = {default: n(105), __esModule: !0}
}, function (e, t, n) {
  n(106), e.exports = n(2).Object.keys
}, function (e, t, n) {
  var i = n(31), o = n(14);
  n(107)("keys", function () {
    return function (e) {
      return o(i(e))
    }
  })
}, function (e, t, n) {
  var i = n(3), o = n(2), r = n(15);
  e.exports = function (e, t) {
    var n = (o.Object || {})[e] || Object[e], a = {};
    a[e] = t(n), i(i.S + i.F * r(function () {
      n(1)
    }), "Object", a)
  }
}, function (e, t, n) {
  "use strict";
  t.__esModule = !0;
  var i = n(30), o = function (e) {
    return e && e.__esModule ? e : {default: e}
  }(i);
  t.default = function (e) {
    return function () {
      var t = e.apply(this, arguments);
      return new o.default(function (e, n) {
        function i(r, a) {
          try {
            var s = t[r](a), l = s.value
          } catch (e) {
            return void n(e)
          }
          if (!s.done) return o.default.resolve(l).then(function (e) {
            i("next", e)
          }, function (e) {
            i("throw", e)
          });
          e(l)
        }

        return i("next")
      })
    }
  }
}, function (e, t, n) {
  "use strict";

  function i(e) {
    var t = null;
    switch (e) {
      case"ECN":
        t = "https://up.qbox.me";
        break;
      case"NCN":
        t = "https://up-z1.qbox.me";
        break;
      case"SCN":
        t = "https://up-z2.qbox.me";
        break;
      case"NA":
        t = "https://up-na0.qbox.me";
        break;
      case"ASG":
        t = "https://up-as0.qbox.me";
        break;
      default:
        console.error("please make the region is with one of [ECN, SCN, NCN, NA, ASG]")
    }
    return t
  }

  function o(e) {
    e.region ? l.qiniuRegion = e.region : console.error("qiniu uploader need your bucket region"), e.uploadURL && (l.uploadURL = e.uploadURL), e.uptoken ? l.qiniuUploadToken = e.uptoken : e.uptokenURL ? l.qiniuUploadTokenURL = e.uptokenURL : e.uptokenFunc && (l.qiniuUploadTokenFunction = e.uptokenFunc), e.domain && (l.qiniuImageURLPrefix = e.domain), l.qiniuShouldUseQiniuFileName = e.shouldUseQiniuFileName
  }

  function r(e, t, n, o, r) {
    if (null == l.qiniuUploadToken && l.qiniuUploadToken.length > 0) return void console.error("qiniu UploadToken is null, please check the init config or networking");
    var a = i(l.qiniuRegion), c = new FormData;
    c.append("file", e, o.name), Object(s.a)(a + "?token=" + l.qiniuUploadToken, c, "post", "mutipart-formData").then(function (e) {
      try {
        var n = l.qiniuImageURLPrefix + "/" + e.key;
        e.imageURL = n, e.name = o.name, t && t(e)
      } catch (e) {
      }
    }).catch(function (t) {
      if (n) {
        var i = {name: o.name, blob: e};
        n(i)
      }
    })
  }

  function a(e) {
    Object(s.a)(l.qiniuUploadTokenURL, {}, "get").then(function (t) {
      var n = t.data.uptoken;
      n && n.length > 0 ? (l.qiniuUploadToken = n, e && e()) : console.error("qiniuUploader cannot get your token, please check the uptokenURL or server")
    }).catch(function (e) {
      console.error("qiniu UploadToken is null, please check the init config or networking: " + e)
    })
  }

  Object.defineProperty(t, "__esModule", {value: !0}), n.d(t, "init", function () {
    return c
  }), n.d(t, "upload", function () {
    return u
  });
  var s = n(37), l = {
    qiniuRegion: "",
    qiniuImageURLPrefix: "",
    qiniuUploadToken: "",
    qiniuUploadTokenURL: "",
    qiniuUploadTokenFunction: null,
    qiniuShouldUseQiniuFileName: !1
  }, c = function (e) {
    l = {
      qiniuRegion: "",
      qiniuImageURLPrefix: "",
      qiniuUploadToken: "",
      qiniuUploadTokenURL: "",
      qiniuUploadTokenFunction: null,
      qiniuShouldUseQiniuFileName: !1
    }, o(e)
  }, u = function (e, t, n, i, s) {
    if (null == e) return void console.error("qiniu uploader need filePath to upload");
    if (i && o(i), l.qiniuUploadToken) r(e, t, n, i, s); else if (l.qiniuUploadTokenURL) a(function () {
      r(e, t, n, i, s)
    }); else {
      if (!l.qiniuUploadTokenFunction) return void console.error("qiniu uploader need one of [uptoken, uptokenURL, uptokenFunc]");
      if (l.qiniuUploadToken = l.qiniuUploadTokenFunction(), null == l.qiniuUploadToken && l.qiniuUploadToken.length > 0) return void console.error("qiniu UploadTokenFunction result is null, please check the return value");
      r(e, t, n, i, s)
    }
  }
}, function (e, t) {
  e.exports = function (e) {
    if (!e.webpackPolyfill) {
      var t = Object.create(e);
      t.children || (t.children = []), Object.defineProperty(t, "loaded", {
        enumerable: !0, get: function () {
          return t.l
        }
      }), Object.defineProperty(t, "id", {
        enumerable: !0, get: function () {
          return t.i
        }
      }), Object.defineProperty(t, "exports", {enumerable: !0}), t.webpackPolyfill = 1
    }
    return t
  }
}, function (e, t) {
  (function (t) {
    e.exports = t
  }).call(t, {})
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0});
  var i = n(57), o = n.n(i), r = n(113), a = n.n(r), s = n(53), l = n.n(s), c = n(54), u = n.n(c);
  n(118), n(119), n(120);
  var h = n(121), f = h.EXIF;
  n(122), n(123), n(124);
  var d = n(36), p = d.requestPhoneResource, m = d.requestUpload, g = (d.requestUpToken, d.requestPhoneName), v = n(58),
    y = v.roundRect, _ = v.cal, b = v.GetRequest, w = v.createObjectURL, x = n(125), T = x.setConfig, S = n(59),
    P = S.Finger, k = n(63), E = k.SJK, j = function () {
      function e() {
        l()(this, e), this.isFileImg = !1, this.price = 0, this.fold = 4, this.K = _(2.8), this.edge = _(4), this.diff = 2, this.Orientation = null, this.uploadImg = {}, this.imgFinger = null, this.borderFinger = null, this.textFingerArr = [], this.t_skey = "", this.req = {}, this.phone_res = {}, this.phone_draw = {
          phone_border: "",
          phone_height: "",
          phone_width: "",
          canvas_width: "",
          canvas_height: ""
        }, this.object = {
          angle: 0,
          l: 0,
          t: 0,
          scaleY: 1,
          scaleX: 1,
          rotate: 0,
          url: "",
          width: 0,
          height: 0,
          fontSize: 16,
          color: "#000"
        }, this.init()
      }

      return u()(e, [{
        key: "init", value: function () {
          var e = this;
          this.req = b(), this.req.cookie && (this.t_skey = this.req.cookie, document.cookie = "t_skey=" + this.t_skey), g(this.req.phone_id, this.t_skey).then(function (t) {
            console.log(t), document.getElementsByClassName("setOtherPhone")[0].getElementsByTagName("span")[0].innerHTML = t.data.phoneName, e.req.title = t.data.phoneName
          }), E.checkIphonex(), E.renderPhotoModel(this.t_skey), wx.ready(function () {
            e.bindEvent(), document.getElementsByClassName("loading")[0].style.display = "none"
          }), this.getPhoneModelResource()
        }
      }, {
        key: "bindEvent", value: function () {
          var e = this, t = navigator.userAgent, n = !!t.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
            i = document.getElementsByClassName("mask")[0];
          document.getElementsByClassName("text_mask")[0];
          document.getElementById("checkFile").onclick = function (t) {
            e.isFileImg = !0, e.isIos = !0, wx.chooseImage({
              count: 1, sizeType: ["original"], success: function (t) {
                wx.getLocalImgData({
                  localId: t.localIds[0], success: function (t) {
                    e.imgHandler((n ? "" : "data:image/jpeg;base64,") + t.localData)
                  }
                })
              }
            })
          }, document.getElementsByClassName("submit")[0].onclick = function (e) {
            /active/.test(e.currentTarget.className) ? (i.style.display = "flex", i.getElementsByClassName("dialog")[0].style.display = "block") : E.renderToast("璇烽€夋嫨瀹氬埗鎵嬫満澹崇殑鐓х墖")
          }, i.getElementsByClassName("cancle")[0].onclick = function (e) {
            i.style.display = "none", i.getElementsByClassName("dialog")[0].style.display = "none"
          }, document.getElementsByClassName("draw")[0].onclick = function () {
            document.getElementsByClassName("mask")[0].getElementsByClassName("dialog")[0].style.display = "none", E.checkTimeOut(e.req.network), E.loadingCount(), e.draw()
          }, document.getElementsByClassName("setOtherPhone")[0].onclick = function () {
            wx.miniProgram.redirectTo({url: "/pages/choose/choose?phone_id=" + e.req.phone_id})
          };
          var o = document.getElementsByClassName("photo-wrap")[0].getElementsByTagName("ul")[0];
          o.addEventListener("click", function (t) {
            var n = o.getElementsByTagName("li"), i = t.target, r = i.tagName, a = i.className, s = "";
            if ("li" == r && (s = i), "IMG" == r ? s = i.parentNode.parentNode : "img-wrap" != a && "P" != r || (s = i.parentNode), "active" != s.className) {
              for (var l = 0; l < n.length; l++) n[l].className = "";
              s.className = "active";
              var c = s.getAttribute("data-url");
              e.isFileImg = !1, e.imgHandler(c)
            }
          })
        }
      }, {
        key: "getPhoneModelResource", value: function () {
          var e = this;
          p(this.req.phone_id, this.t_skey).then(function (t) {
            if (0 == t.code) {
              e.price = t.data.price, e.material_res = t.data.material_res, e.phone_res = t.data.phone_res;
              var n = document.getElementsByClassName("shell-frame")[0], i = n.getElementsByClassName("canvas")[0];
              e.phone_draw.phone_height = parseInt(e.phone_res.phoneH * e.K), e.phone_draw.phone_width = parseInt(e.phone_res.phoneW * e.K), e.phone_draw.phone_border = e.phone_res.corner_radius * e.K, n.style.height = e.phone_draw.phone_height + "px", n.style.width = e.phone_draw.phone_width + "px", n.style.borderRadius = e.phone_draw.phone_border + "px", e.phone_draw.canvas_height = e.phone_draw.phone_height + e.diff, e.phone_draw.canvas_width = e.phone_draw.phone_width + e.diff, i.style.height = e.phone_draw.canvas_height + "px", i.style.width = e.phone_draw.canvas_width + "px";
              for (var o in e.phone_res.shapes) {
                var r = e.phone_res.shapes[o], a = document.createElement("img");
                a.src = r.url, a.className = "camera", a.style.height = (r.h * e.K).toFixed(2) + "px", a.style.width = (r.w * e.K).toFixed(2) + "px", a.style.left = (e.phone_res.phoneW / 2 * e.K + r.x * e.K - r.w / 2 * e.K).toFixed(2) + "px", a.style.top = (e.phone_res.phoneH / 2 * e.K + r.y * e.K - r.h / 2 * e.K).toFixed(2) + "px", n.appendChild(a)
              }
              var s = document.getElementById("img");
              e.imgFinger = e.initFinger(s, "img"), document.getElementsByClassName("device")[0].style.display = "block"
            } else console.log(t)
          }).catch(function (e) {
            console.log(e)
          })
        }
      }, {
        key: "initFinger", value: function (e, t) {
          return new P({
            type: t,
            el_item: e,
            phoneW: this.phone_res.phoneW,
            phoneH: this.phone_res.phoneH,
            fold: this.fold,
            K: this.K,
            diff: this.diff
          })
        }
      }, {
        key: "upload", value: function (e) {
          var t = this;
          E.uploadQiniu(this.t_skey, e, function (e) {
            document.getElementsByClassName("toast")[0].style.display = "none";
            var n = a()({phone_id: t.req.phone_id}, e);
            m(n, t.t_skey).then(function (e) {
              0 == e.code && E.clearLoadTime(function () {
                var n = e.data;
                wx.miniProgram.redirectTo({url: "/pages/confirm/confirm?title=" + t.req.title + "&img_id=" + n.id + "&img=" + n.img + "&phone_id=" + t.req.phone_id + "&price=" + t.price})
              })
            })
          })
        }
      }, {
        key: "draw", value: function () {
          var e = this;
          this.fold = 4;
          var t = this.diff / 2 * this.fold, n = this.phone_draw.phone_width * this.fold,
            i = this.phone_draw.phone_height * this.fold, o = this.phone_draw.phone_border * this.fold,
            r = document.createElement("canvas"), a = r.getContext("2d");
          r.height = this.phone_draw.canvas_height * this.fold, r.width = this.phone_draw.canvas_width * this.fold, this.drawOriginImg(function () {
            e.drawmyImg(a, function () {
              for (var s in e.textFingerArr) {
                var l = e.textFingerArr[s];
                e.fillText(a, l)
              }
              r.toBlob && r.toBlob(function (s) {
                e.uploadImg.source_img_blob = s, a.clearRect(0, 0, r.width, r.height), e.fold = 2, t = e.diff / 2 * e.fold, n = e.phone_draw.phone_width * e.fold, i = e.phone_draw.phone_height * e.fold, o = e.phone_draw.phone_border * e.fold, r.height = e.phone_draw.canvas_height * e.fold, r.width = e.phone_draw.canvas_width * e.fold, e.drawBgCanvas(a, [], 0, function () {
                  var s = (n - 2 * e.edge) * o / n;
                  y(a, t + e.edge, t + e.edge, n - 2 * e.edge, i - 2 * e.edge, s), a.clip(), a.fillStyle = "#000", a.fillRect(0, 0, r.width, r.height), e.drawmyImg(a, function () {
                    for (var t in e.textFingerArr) {
                      var n = e.textFingerArr[t];
                      e.fillText(a, n)
                    }
                    e.drawCamera(a, !1, function () {
                      r.toBlob && r.toBlob(function (t) {
                        var n = [{blob: t, name: "img"}, {
                          blob: e.uploadImg.source_img_blob,
                          name: "source_img"
                        }, {blob: e.uploadImg.original_img_blob, name: "original_img"}];
                        e.upload(n)
                      }, "image/png")
                    })
                  })
                })
              }, "image/jpeg", "1")
            })
          })
        }
      }, {
        key: "drawBgCanvas", value: function (e, t, n, i) {
          var o = this, r = this.diff / 2 * this.fold;
          if (n >= t.length) i(); else {
            var a = new Image;
            a.crossOrigin = "Anonymous", a.onload = function () {
              e.drawImage(a, r, r, o.phone_draw.phone_width * o.fold, o.phone_draw.phone_height * o.fold), n++, o.drawBgCanvas(e, t, n, i)
            }, a.src = t[n]
          }
        }
      }, {
        key: "drawCamera", value: function (e, t, n) {
          var i = this;
          e.restore(), this.phone_res.shapes && 0 != this.phone_res.shapes.length ? function () {
            var o = 0;
            for (var r in i.phone_res.shapes) !function (r) {
              var a = i.phone_res.shapes[r], s = t ? a.shadow_url : a.url;
              if ("" != s) {
                var l = new Image;
                l.crossOrigin = "Anonymous", l.onload = function () {
                  e.drawImage(l, (i.phone_res.phoneW / 2 * i.K + a.x * i.K - a.w / 2 * i.K + i.diff / 2) * i.fold, (i.phone_res.phoneH / 2 * i.K + a.y * i.K - a.h / 2 * i.K + i.diff / 2) * i.fold, a.w * i.K * i.fold, a.h * i.K * i.fold), ++o == i.phone_res.shapes.length && "function" == typeof n && n()
                }, l.src = s
              } else ++o == i.phone_res.shapes.length && "function" == typeof n && n()
            }(r)
          }() : "function" == typeof n && n()
        }
      }, {
        key: "drawmyImg", value: function (e, t) {
          var n = this, i = this.imgFinger.el_object;
          if (i.url) {
            e.save();
            var o = void 0, r = void 0, a = void 0, s = void 0, l = void 0, c = "", u = new Image;
            u.crossOrigin = "Anonymous", u.onload = function () {
              var h = n.Orientation;
              switch ("MARTISAN" != n.req.brand || 6 != n.Orientation && 8 != n.Orientation || (h = ""), h) {
                case 6:
                  e.translate((i.l + i.width / 2) * n.fold, (i.t + i.height / 2) * n.fold), e.rotate((i.angle + 90) * Math.PI / 180), e.translate(-(i.l + i.width / 2) * n.fold, -(i.t + i.height / 2) * n.fold);
                  break;
                case 8:
                  e.translate((i.l + i.height / 2) * n.fold, (i.t + i.width / 2) * n.fold), e.rotate((i.angle - 90) * Math.PI / 180), e.translate(-(i.l + i.height / 2) * n.fold, -(i.t + i.width / 2) * n.fold);
                  break;
                case 3:
                  e.translate((i.l + i.width / 2) * n.fold, (i.t + i.height / 2) * n.fold), e.rotate((i.angle + 180) * Math.PI / 180), e.translate(-(i.l + i.width / 2) * n.fold, -(i.t + i.height / 2) * n.fold);
                  break;
                default:
                  e.translate((i.l + i.width / 2) * n.fold, (i.t + i.height / 2) * n.fold), e.rotate(i.angle * Math.PI / 180), e.translate(-(i.l + i.width / 2) * n.fold, -(i.t + i.height / 2) * n.fold)
              }
              switch (h) {
                case 6:
                  o = i.width * n.fold * i.scaleX, r = i.height * n.fold * i.scaleX, a = (o / n.fold - i.height) / 2, s = (r / n.fold - i.width) / 2, l = (i.l - s) * n.fold, c = (i.t - a) * n.fold;
                  break;
                case 8:
                  r = i.height * n.fold * i.scaleX, o = i.width * n.fold * i.scaleX, a = (o / n.fold - i.width) / 2, s = (r / n.fold - i.height) / 2, l = (i.l - s) * n.fold, c = (i.t - a) * n.fold;
                  break;
                default:
                  o = i.height * n.fold * i.scaleX, r = i.width * n.fold * i.scaleX, a = (o / n.fold - i.height) / 2, s = (r / n.fold - i.width) / 2, l = (i.l - s) * n.fold, c = (i.t - a) * n.fold
              }
              e.drawImage(u, l, c, r, o), e.restore(), "function" == typeof t && t()
            }, u.src = i.url
          } else "function" == typeof t && t()
        }
      }, {
        key: "drawOriginImg", value: function (e) {
          var t = this, n = this.my_canvas.width, i = this.my_canvas.height, o = 0, r = 0, a = i, s = n, l = 0, c = 0;
          switch (this.my_ctx.save(), this.Orientation) {
            case 6:
              this.my_ctx.translate(n / 2, i / 2), this.my_ctx.rotate(90 * Math.PI / 180), this.my_ctx.translate(-n / 2, -i / 2);
              break;
            case 8:
              this.my_ctx.translate(i / 2, n / 2), this.my_ctx.rotate(-90 * Math.PI / 180), this.my_ctx.translate(-i / 2, -n / 2);
              break;
            case 3:
              this.my_ctx.translate(n / 2, i / 2), this.my_ctx.rotate(180 * Math.PI / 180), this.my_ctx.translate(-n / 2, -i / 2)
          }
          switch (this.Orientation) {
            case 6:
              a = n, s = i, o = (a - i) / 2, r = (s - n) / 2, l = -r, c = -o;
              break;
            case 8:
              s = i, a = n, o = (a - n) / 2, r = (s - i) / 2, l = -r, c = -o
          }
          this.my_ctx.drawImage(this.my_img, l, c, s, a), this.my_ctx.restore(), this.my_canvas.toBlob && this.my_canvas.toBlob(function (n) {
            t.uploadImg.original_img_blob = n, t.my_canvas = null, t.my_ctx = null, t.my_img = "", "function" == typeof e && e()
          }, "image/jpeg", "0.8")
        }
      }, {
        key: "fillText", value: function (e, t) {
          e.save();
          var n = t.el_object;
          e.translate((n.l + n.width / 2) * this.fold, (n.t + n.height / 2) * this.fold), e.rotate(n.angle * Math.PI / 180), e.translate(-(n.l + n.width / 2) * this.fold, -(n.t + n.height / 2) * this.fold);
          var i = n.fontSize * this.fold * n.scaleX, o = n.width * this.fold * n.scaleX,
            r = (i / this.fold - n.fontSize) / 2, a = (o / this.fold - n.width) / 2, s = (n.l - a) * this.fold,
            l = (n.t - r) * this.fold;
          e.font = i + "px Arial", e.fillStyle = n.color, e.textBaseline = "top", e.fillText(t.el_item.innerHTML, s, l), e.restore()
        }
      }, {
        key: "imgHandler", value: function (e) {
          var t = this, n = o()(this.object), i = JSON.parse(n), r = 0;
          this.Orientation = null, this.fold = 4;
          var a = function (e) {
            var n = 0, o = 0;
            if (t.isFileImg) {
              switch (t.Orientation) {
                case 6:
                case 8:
                  n = e.naturalHeight, o = e.naturalWidth;
                  break;
                default:
                  n = e.naturalWidth, o = e.naturalHeight
              }
              n < t.phone_draw.phone_width ? (i.width = n, i.height = o) : "SMARTISAN" != t.req.brand || 6 != t.Orientation && 8 != t.Orientation ? (i.width = t.phone_draw.phone_width, i.height = t.phone_draw.phone_width * o / n) : (i.height = t.phone_draw.phone_width, i.width = t.phone_draw.phone_width * o / n, r = 90)
            } else i.width = t.phone_draw.phone_width.toFixed(2), i.height = t.phone_draw.phone_height.toFixed(2), n = e.naturalWidth, o = e.naturalHeight;
            var a = n, s = o;
            n > t.phone_draw.canvas_width * t.fold && (a = t.phone_draw.canvas_width * t.fold, s = a * o / n), t.my_img = e, t.my_canvas = document.createElement("canvas"), t.my_ctx = t.my_canvas.getContext("2d"), t.my_ctx.save(), t.my_canvas.width = a, t.my_canvas.height = s;
            var l = t.imgFinger.el_item;
            l.src = "", l.height = i.height, l.width = i.width, l.translateY = t.phone_draw.canvas_height / 2 - i.height / 2, l.translateX = t.phone_draw.canvas_width / 2 - i.width / 2, l.scaleX = l.scaleY = t.object.scaleX, l.rotateZ = r, i.l = l.translateX, i.t = l.translateY, i.angle = r, t.imgFinger.el_object = i, l.src = e.src, document.getElementsByClassName("submit")[0].className = "submit active";
            var c = (document.body.clientWidth - t.phone_draw.canvas_width) / 2 - 10,
              u = document.getElementsByClassName("move-tip")[0];
            if (u.style.right = c + "px", u.style.display = "block", t.isFileImg) for (var h = document.getElementsByClassName("photo-wrap")[0].getElementsByTagName("li"), f = 0; f < h.length; f++) h[f].className = ""
          };
          if (this.isFileImg) {
            var s = void 0, l = this, c = null;
            if (this.isIos) i.url = e; else {
              var u = e.target;
              if (null == u.files[0]) return;
              s = u.files[0], i.url = w(s)
            }
            var h = new Image;
            h.crossOrigin = "Anonymous", h.src = i.url, h.onload = function () {
              f.getData(h, function () {
                f.getAllTags(this), c = f.getTag(this, "Orientation"), l.Orientation = c, a(h)
              })
            }
          } else {
            if (!e) return;
            i.url = e;
            var d = new Image;
            d.crossOrigin = "Anonymous", d.src = i.url, d.onload = function () {
              a(d)
            }
          }
        }
      }, {
        key: "addText", value: function () {
          var e = document.getElementsByClassName("edit-text")[0].value;
          if (window.optTextEl) window.optTextEl.innerHTML = e; else {
            var t = document.createElement("div");
            t.className = "text", document.getElementsByClassName("canvas")[0].appendChild(t);
            var n = new P({
              type: "text",
              el_item: t,
              phoneW: this.phone_res.phoneW,
              phoneH: this.phone_res.phoneH,
              fold: this.fold,
              K: this.K,
              diff: this.diff
            });
            this.textFingerArr.push(n), this.textHandler(e, n)
          }
        }
      }, {
        key: "textHandler", value: function (e, t) {
          var n = t.el_item;
          n.innerHTML = e;
          var i = n.offsetWidth, r = n.offsetHeight;
          n.translateY = (this.phone_res.phoneH * this.K + this.diff) / 2 - r / 2, n.translateX = (this.phone_res.phoneW * this.K + this.diff) / 2 - i / 2, n.scaleX = n.scaleY = this.object.scaleX, n.rotateZ = 0;
          var a = o()(this.object), s = JSON.parse(a);
          s.l = n.translateX, s.t = n.translateY, i < 300 ? (s.width = i, s.height = r) : (s.width = 300, s.height = 300 * r / i), document.getElementsByClassName("submit")[0].style.display = "block", t.el_object = s
        }
      }]), e
    }();
  window.onload = function () {
    T(location.href.split("#")[0]), new j
  }
}, function (e, t, n) {
  "use strict";
  t.__esModule = !0;
  var i = n(114), o = function (e) {
    return e && e.__esModule ? e : {default: e}
  }(i);
  t.default = o.default || function (e) {
    for (var t = 1; t < arguments.length; t++) {
      var n = arguments[t];
      for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
    }
    return e
  }
}, function (e, t, n) {
  e.exports = {default: n(115), __esModule: !0}
}, function (e, t, n) {
  n(116), e.exports = n(2).Object.assign
}, function (e, t, n) {
  var i = n(3);
  i(i.S + i.F, "Object", {assign: n(117)})
}, function (e, t, n) {
  "use strict";
  var i = n(14), o = n(33), r = n(18), a = n(31), s = n(56), l = Object.assign;
  e.exports = !l || n(15)(function () {
    var e = {}, t = {}, n = Symbol(), i = "abcdefghijklmnopqrst";
    return e[n] = 7, i.split("").forEach(function (e) {
      t[e] = e
    }), 7 != l({}, e)[n] || Object.keys(l({}, t)).join("") != i
  }) ? function (e, t) {
    for (var n = a(e), l = arguments.length, c = 1, u = o.f, h = r.f; l > c;) for (var f, d = s(arguments[c++]), p = u ? i(d).concat(u(d)) : i(d), m = p.length, g = 0; m > g;) h.call(d, f = p[g++]) && (n[f] = d[f]);
    return n
  } : l
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
    var t = n(32), i = n.n(t);
    !function () {
      function t(e) {
        return Math.sqrt(e.x * e.x + e.y * e.y)
      }

      function n(e, t) {
        return e.x * t.x + e.y * t.y
      }

      function o(e, i) {
        var o = t(e) * t(i);
        if (0 === o) return 0;
        var r = n(e, i) / o;
        return r > 1 && (r = 1), Math.acos(r)
      }

      function r(e, t) {
        return e.x * t.y - t.x * e.y
      }

      function a(e, t) {
        var n = o(e, t);
        return r(e, t) > 0 && (n *= -1), 180 * n / Math.PI
      }

      function s(e, t) {
        var n = new l(e);
        return n.add(t), n
      }

      var l = function (e) {
        this.handlers = [], this.el = e
      };
      l.prototype.add = function (e) {
        this.handlers.push(e)
      }, l.prototype.del = function (e) {
        e || (this.handlers = []);
        for (var t = this.handlers.length; t >= 0; t--) this.handlers[t] === e && this.handlers.splice(t, 1)
      }, l.prototype.dispatch = function () {
        for (var e = 0, t = this.handlers.length; e < t; e++) {
          var n = this.handlers[e];
          "function" == typeof n && n.apply(this.el, arguments)
        }
      };
      var c = function (e, t) {
        this.element = "string" == typeof e ? document.querySelector(e) : e, this.start = this.start.bind(this), this.move = this.move.bind(this), this.end = this.end.bind(this), this.cancel = this.cancel.bind(this), this.element.addEventListener("touchstart", this.start, !1), this.element.addEventListener("touchmove", this.move, !1), this.element.addEventListener("touchend", this.end, !1), this.element.addEventListener("touchcancel", this.cancel, !1), this.preV = {
          x: null,
          y: null
        }, this.pinchStartLen = null, this.zoom = 1, this.isDoubleTap = !1;
        var n = function () {
        };
        this.rotate = s(this.element, t.rotate || n), this.touchStart = s(this.element, t.touchStart || n), this.multipointStart = s(this.element, t.multipointStart || n), this.multipointEnd = s(this.element, t.multipointEnd || n), this.pinch = s(this.element, t.pinch || n), this.swipe = s(this.element, t.swipe || n), this.tap = s(this.element, t.tap || n), this.doubleTap = s(this.element, t.doubleTap || n), this.longTap = s(this.element, t.longTap || n), this.singleTap = s(this.element, t.singleTap || n), this.pressMove = s(this.element, t.pressMove || n), this.twoFingerPressMove = s(this.element, t.twoFingerPressMove || n), this.touchMove = s(this.element, t.touchMove || n), this.touchEnd = s(this.element, t.touchEnd || n), this.touchCancel = s(this.element, t.touchCancel || n), this._cancelAllHandler = this.cancelAll.bind(this), window.removeEventListener("scroll", this._cancelAllHandler), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = {
          x: null,
          y: null
        }
      };
      c.prototype = {
        start: function (e) {
          if (e.touches) {
            this.now = Date.now(), this.x1 = e.touches[0].pageX, this.y1 = e.touches[0].pageY, this.delta = this.now - (this.last || this.now), this.touchStart.dispatch(e), null !== this.preTapPosition.x && (this.isDoubleTap = this.delta > 0 && this.delta <= 250 && Math.abs(this.preTapPosition.x - this.x1) < 30 && Math.abs(this.preTapPosition.y - this.y1) < 30), this.preTapPosition.x = this.x1, this.preTapPosition.y = this.y1, this.last = this.now;
            var n = this.preV;
            if (e.touches.length > 1) {
              this._cancelLongTap(), this._cancelSingleTap();
              var i = {x: e.touches[1].pageX - this.x1, y: e.touches[1].pageY - this.y1};
              n.x = i.x, n.y = i.y, this.pinchStartLen = t(n), this.multipointStart.dispatch(e)
            }
            this._preventTap = !1, this.longTapTimeout = setTimeout(function () {
              this.longTap.dispatch(e), this._preventTap = !0
            }.bind(this), 750)
          }
        }, move: function (e) {
          if (e.touches) {
            var n = this.preV, i = e.touches.length, o = e.touches[0].pageX, r = e.touches[0].pageY;
            if (this.isDoubleTap = !1, i > 1) {
              var s = e.touches[1].pageX, l = e.touches[1].pageY,
                c = {x: e.touches[1].pageX - o, y: e.touches[1].pageY - r};
              null !== n.x && (this.pinchStartLen > 0 && (e.zoom = t(c) / this.pinchStartLen, this.pinch.dispatch(e)), e.angle = a(c, n), this.rotate.dispatch(e)), n.x = c.x, n.y = c.y, null !== this.x2 && null !== this.sx2 ? (e.deltaX = (o - this.x2 + s - this.sx2) / 2, e.deltaY = (r - this.y2 + l - this.sy2) / 2) : (e.deltaX = 0, e.deltaY = 0), this.twoFingerPressMove.dispatch(e), this.sx2 = s, this.sy2 = l
            } else null !== this.x2 ? (e.deltaX = o - this.x2, e.deltaY = r - this.y2) : (e.deltaX = 0, e.deltaY = 0), this.pressMove.dispatch(e);
            this.touchMove.dispatch(e), this._cancelLongTap(), this.x2 = o, this.y2 = r, i > 1 && e.preventDefault()
          }
        }, end: function (e) {
          if (e.changedTouches) {
            this._cancelLongTap();
            var t = this;
            e.touches.length < 2 && this.multipointEnd.dispatch(e), this.x2 && Math.abs(this.x1 - this.x2) > 30 || this.y2 && Math.abs(this.y1 - this.y2) > 30 ? (e.direction = this._swipeDirection(this.x1, this.x2, this.y1, this.y2), this.swipeTimeout = setTimeout(function () {
              t.swipe.dispatch(e)
            }, 0)) : (this.tapTimeout = setTimeout(function () {
              t._preventTap || t.tap.dispatch(e), t.isDoubleTap && (t.doubleTap.dispatch(e), clearTimeout(t.singleTapTimeout), t.isDoubleTap = !1)
            }, 0), t.isDoubleTap || (t.singleTapTimeout = setTimeout(function () {
              t.singleTap.dispatch(e)
            }, 250))), this.touchEnd.dispatch(e), this.preV.x = 0, this.preV.y = 0, this.zoom = 1, this.pinchStartLen = null, this.x1 = this.x2 = this.y1 = this.y2 = null
          }
        }, cancelAll: function () {
          this._preventTap = !0, clearTimeout(this.singleTapTimeout), clearTimeout(this.tapTimeout), clearTimeout(this.longTapTimeout), clearTimeout(this.swipeTimeout)
        }, cancel: function (e) {
          this.cancelAll(), this.touchCancel.dispatch(e)
        }, _cancelLongTap: function () {
          clearTimeout(this.longTapTimeout)
        }, _cancelSingleTap: function () {
          clearTimeout(this.singleTapTimeout)
        }, _swipeDirection: function (e, t, n, i) {
          return Math.abs(e - t) >= Math.abs(n - i) ? e - t > 0 ? "Left" : "Right" : n - i > 0 ? "Up" : "Down"
        }, on: function (e, t) {
          this[e] && this[e].add(t)
        }, off: function (e, t) {
          this[e] && this[e].del(t)
        }, destroy: function () {
          return this.singleTapTimeout && clearTimeout(this.singleTapTimeout), this.tapTimeout && clearTimeout(this.tapTimeout), this.longTapTimeout && clearTimeout(this.longTapTimeout), this.swipeTimeout && clearTimeout(this.swipeTimeout), this.element.removeEventListener("touchstart", this.start), this.element.removeEventListener("touchmove", this.move), this.element.removeEventListener("touchend", this.end), this.element.removeEventListener("touchcancel", this.cancel), this.rotate.del(), this.touchStart.del(), this.multipointStart.del(), this.multipointEnd.del(), this.pinch.del(), this.swipe.del(), this.tap.del(), this.doubleTap.del(), this.longTap.del(), this.singleTap.del(), this.pressMove.del(), this.twoFingerPressMove.del(), this.touchMove.del(), this.touchEnd.del(), this.touchCancel.del(), this.preV = this.pinchStartLen = this.zoom = this.isDoubleTap = this.delta = this.last = this.now = this.tapTimeout = this.singleTapTimeout = this.longTapTimeout = this.swipeTimeout = this.x1 = this.x2 = this.y1 = this.y2 = this.preTapPosition = this.rotate = this.touchStart = this.multipointStart = this.multipointEnd = this.pinch = this.swipe = this.tap = this.doubleTap = this.longTap = this.singleTap = this.pressMove = this.touchMove = this.touchEnd = this.touchCancel = this.twoFingerPressMove = null, null
        }
      }, void 0 !== e && "object" === ("undefined" == typeof exports ? "undefined" : i()(exports)) ? e.exports = c : window.AlloyFinger = c
    }()
  }.call(t, n(110)(e))
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
    var t = n(32), i = n.n(t);
    !function (t) {
      var o = t.HTMLCanvasElement && t.HTMLCanvasElement.prototype, r = t.Blob && function () {
          try {
            return Boolean(new Blob)
          } catch (e) {
            return !1
          }
        }(), a = r && t.Uint8Array && function () {
          try {
            return 100 === new Blob([new Uint8Array(100)]).size
          } catch (e) {
            return !1
          }
        }(), s = t.BlobBuilder || t.WebKitBlobBuilder || t.MozBlobBuilder || t.MSBlobBuilder,
        l = /^data:((.*?)(;charset=.*?)?)(;base64)?,/,
        c = (r || s) && t.atob && t.ArrayBuffer && t.Uint8Array && function (e) {
          var t, n, i, o, c, u, h, f, d;
          if (!(t = e.match(l))) throw new Error("invalid data URI");
          for (n = t[2] ? t[1] : "text/plain" + (t[3] || ";charset=US-ASCII"), i = !!t[4], o = e.slice(t[0].length), c = i ? atob(o) : decodeURIComponent(o), u = new ArrayBuffer(c.length), h = new Uint8Array(u), f = 0; f < c.length; f += 1) h[f] = c.charCodeAt(f);
          return r ? new Blob([a ? h : u], {type: n}) : ((d = new s).append(u), d.getBlob(n))
        };
      t.HTMLCanvasElement && !o.toBlob && (o.mozGetAsFile ? o.toBlob = function (e, t, n) {
        var i = this;
        setTimeout(function () {
          e(n && o.toDataURL && c ? c(i.toDataURL(t, n)) : i.mozGetAsFile("blob", t))
        })
      } : o.toDataURL && c && (o.toBlob = function (e, t, n) {
        var i = this;
        setTimeout(function () {
          e(c(i.toDataURL(t, n)))
        })
      })), "function" == typeof define && n(111) ? define(function () {
        return c
      }) : "object" == i()(e) && e.exports ? e.exports = c : t.dataURLtoBlob = c
    }(window)
  }.call(t, n(110)(e))
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0});
  var i = n(55), o = n.n(i);
  !function () {
    function e(e, n, i) {
      for (var o = 0, r = n.length; o < r; o++) {
        t(e, n[o], i)
      }
    }

    function t(e, t, n) {
      o()(e, t, {
        get: function () {
          return this["__" + t]
        }, set: function (e) {
          e !== this["__" + t] && (this["__" + t] = e, n())
        }
      })
    }

    var n = function (e, t, n, i, o, r, a, s, l, c, u, h, f, d, p, m) {
      this.elements = window.Float32Array ? new Float32Array(16) : [];
      var g = this.elements;
      g[0] = void 0 !== e ? e : 1, g[4] = t || 0, g[8] = n || 0, g[12] = i || 0, g[1] = o || 0, g[5] = void 0 !== r ? r : 1, g[9] = a || 0, g[13] = s || 0, g[2] = l || 0, g[6] = c || 0, g[10] = void 0 !== u ? u : 1, g[14] = h || 0, g[3] = f || 0, g[7] = d || 0, g[11] = p || 0, g[15] = void 0 !== m ? m : 1
    };
    n.DEG_TO_RAD = Math.PI / 180, n.prototype = {
      set: function (e, t, n, i, o, r, a, s, l, c, u, h, f, d, p, m) {
        var g = this.elements;
        return g[0] = e, g[4] = t, g[8] = n, g[12] = i, g[1] = o, g[5] = r, g[9] = a, g[13] = s, g[2] = l, g[6] = c, g[10] = u, g[14] = h, g[3] = f, g[7] = d, g[11] = p, g[15] = m, this
      }, identity: function () {
        return this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this
      }, multiplyMatrices: function (e, t) {
        var n = e.elements, i = this.elements, o = n[0], r = n[4], a = n[8], s = n[12], l = n[1], c = n[5], u = n[9],
          h = n[13], f = n[2], d = n[6], p = n[10], m = n[14], g = n[3], v = n[7], y = n[11], _ = n[15], b = t[0],
          w = t[1], x = t[2], T = t[3], S = t[4], P = t[5], k = t[6], E = t[7], j = t[8], O = t[9], F = t[10],
          C = t[11], M = t[12], L = t[13], I = t[14], N = t[15];
        return i[0] = o * b + r * S + a * j + s * M, i[4] = o * w + r * P + a * O + s * L, i[8] = o * x + r * k + a * F + s * I, i[12] = o * T + r * E + a * C + s * N, i[1] = l * b + c * S + u * j + h * M, i[5] = l * w + c * P + u * O + h * L, i[9] = l * x + c * k + u * F + h * I, i[13] = l * T + c * E + u * C + h * N, i[2] = f * b + d * S + p * j + m * M, i[6] = f * w + d * P + p * O + m * L, i[10] = f * x + d * k + p * F + m * I, i[14] = f * T + d * E + p * C + m * N, i[3] = g * b + v * S + y * j + _ * M, i[7] = g * w + v * P + y * O + _ * L, i[11] = g * x + v * k + y * F + _ * I, i[15] = g * T + v * E + y * C + _ * N, this
      }, _rounded: function (e, t) {
        return t = Math.pow(10, t || 15), Math.round(e * t) / t
      }, appendTransform: function (e, t, i, o, r, a, s, l, c, u, h, f, d, p) {
        var m = s * n.DEG_TO_RAD, g = this._rounded(Math.cos(m)), v = this._rounded(Math.sin(m)), y = l * n.DEG_TO_RAD,
          _ = this._rounded(Math.cos(y)), b = this._rounded(Math.sin(y)), w = c * n.DEG_TO_RAD,
          x = this._rounded(Math.cos(-1 * w)), T = this._rounded(Math.sin(-1 * w));
        return this.multiplyMatrices(this, [1, 0, 0, e, 0, g, v, t, 0, -v, g, i, 0, 0, 0, 1]), this.multiplyMatrices(this, [_, 0, b, 0, 0, 1, 0, 0, -b, 0, _, 0, 0, 0, 0, 1]), this.multiplyMatrices(this, [x * o, T * r, 0, 0, -T * o, x * r, 0, 0, 0, 0, 1 * a, 0, 0, 0, 0, 1]), (u || h) && this.multiplyMatrices(this, [this._rounded(Math.cos(u * n.DEG_TO_RAD)), this._rounded(Math.sin(u * n.DEG_TO_RAD)), 0, 0, -1 * this._rounded(Math.sin(h * n.DEG_TO_RAD)), this._rounded(Math.cos(h * n.DEG_TO_RAD)), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]), (f || d || p) && (this.elements[12] -= f * this.elements[0] + d * this.elements[4] + p * this.elements[8], this.elements[13] -= f * this.elements[1] + d * this.elements[5] + p * this.elements[9], this.elements[14] -= f * this.elements[2] + d * this.elements[6] + p * this.elements[10]), this
      }
    }, window.Transform = function (t) {
      e(t, ["translateX", "translateY", "translateZ", "scaleX", "scaleY", "scaleZ", "rotateX", "rotateY", "rotateZ", "skewX", "skewY", "originX", "originY", "originZ"], function () {
        var e = t.matrix3D.identity().appendTransform(t.translateX, t.translateY, t.translateZ, t.scaleX, t.scaleY, t.scaleZ, t.rotateX, t.rotateY, t.rotateZ, t.skewX, t.skewY, t.originX, t.originY, t.originZ);
        t.style.transform = t.style.msTransform = t.style.OTransform = t.style.MozTransform = t.style.webkitTransform = "perspective(" + t.perspective + "px) matrix3d(" + Array.prototype.slice.call(e.elements).join(",") + ")"
      }), e(t, ["perspective"], function () {
        t.style.transform = t.style.msTransform = t.style.OTransform = t.style.MozTransform = t.style.webkitTransform = "perspective(" + t.perspective + "px) matrix3d(" + Array.prototype.slice.call(t.matrix3D.elements).join(",") + ")"
      }), t.matrix3D = new n, t.perspective = 500, t.scaleX = t.scaleY = t.scaleZ = 1, t.translateX = t.translateY = t.translateZ = t.rotateX = t.rotateY = t.rotateZ = t.skewX = t.skewY = t.originX = t.originY = t.originZ = 0
    }
  }()
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
    var t = n(32), i = n.n(t);
    (function () {
      function t(e) {
        return !!e.exifdata
      }

      function o(e, t) {
        t = t || e.match(/^data\:([^\;]+)\;base64,/im)[1] || "", e = e.replace(/^data\:([^\;]+)\;base64,/gim, "");
        for (var n = atob(e), i = n.length, o = new ArrayBuffer(i), r = new Uint8Array(o), a = 0; a < i; a++) r[a] = n.charCodeAt(a);
        return o
      }

      function r(e, t) {
        var n = new XMLHttpRequest;
        n.open("GET", e, !0), n.responseType = "blob", n.onload = function (e) {
          200 != this.status && 0 !== this.status || t(this.response)
        }, n.send()
      }

      function a(e, t) {
        function n(n) {
          var i = s(n);
          e.exifdata = i || {};
          var o = l(n);
          if (e.iptcdata = o || {}, w.isXmpEnabled) {
            var r = g(n);
            e.xmpdata = r || {}
          }
          t && t.call(e)
        }

        if (e.src) if (/^data\:/i.test(e.src)) {
          var i = o(e.src);
          n(i)
        } else if (/^blob\:/i.test(e.src)) {
          var a = new FileReader;
          a.onload = function (e) {
            n(e.target.result)
          }, r(e.src, function (e) {
            a.readAsArrayBuffer(e)
          })
        } else {
          var c = new XMLHttpRequest;
          c.onload = function () {
            if (200 != this.status && 0 !== this.status) throw"Could not load image";
            n(c.response), c = null
          }, c.open("GET", e.src, !0), c.responseType = "arraybuffer", c.send(null)
        } else if (self.FileReader && (e instanceof self.Blob || e instanceof self.File)) {
          var a = new FileReader;
          a.onload = function (e) {
            _ && console.log("Got file of length " + e.target.result.byteLength), n(e.target.result)
          }, a.readAsArrayBuffer(e)
        }
      }

      function s(e) {
        var t = new DataView(e);
        if (_ && console.log("Got file of length " + e.byteLength), 255 != t.getUint8(0) || 216 != t.getUint8(1)) return _ && console.log("Not a valid JPEG"), !1;
        for (var n, i = 2, o = e.byteLength; i < o;) {
          if (255 != t.getUint8(i)) return _ && console.log("Not a valid marker at offset " + i + ", found: " + t.getUint8(i)), !1;
          if (n = t.getUint8(i + 1), _ && console.log(n), 225 == n) return _ && console.log("Found 0xFFE1 marker"), m(t, i + 4, t.getUint16(i + 2));
          i += 2 + t.getUint16(i + 2)
        }
      }

      function l(e) {
        var t = new DataView(e);
        if (_ && console.log("Got file of length " + e.byteLength), 255 != t.getUint8(0) || 216 != t.getUint8(1)) return _ && console.log("Not a valid JPEG"), !1;
        for (var n = 2, i = e.byteLength; n < i;) {
          if (function (e, t) {
              return 56 === e.getUint8(t) && 66 === e.getUint8(t + 1) && 73 === e.getUint8(t + 2) && 77 === e.getUint8(t + 3) && 4 === e.getUint8(t + 4) && 4 === e.getUint8(t + 5)
            }(t, n)) {
            var o = t.getUint8(n + 7);
            o % 2 != 0 && (o += 1), 0 === o && (o = 4);
            return c(e, n + 8 + o, t.getUint16(n + 6 + o))
          }
          n++
        }
      }

      function c(e, t, n) {
        for (var i, o, r, a, s = new DataView(e), l = {}, c = t; c < t + n;) 28 === s.getUint8(c) && 2 === s.getUint8(c + 1) && (a = s.getUint8(c + 2)) in E && (r = s.getInt16(c + 3), r + 5, o = E[a], i = p(s, c + 5, r), l.hasOwnProperty(o) ? l[o] instanceof Array ? l[o].push(i) : l[o] = [l[o], i] : l[o] = i), c++;
        return l
      }

      function u(e, t, n, i, o) {
        var r, a, s, l = e.getUint16(n, !o), c = {};
        for (s = 0; s < l; s++) r = n + 12 * s + 2, a = i[e.getUint16(r, !o)], !a && _ && console.log("Unknown tag: " + e.getUint16(r, !o)), c[a] = h(e, r, t, n, o);
        return c
      }

      function h(e, t, n, i, o) {
        var r, a, s, l, c, u, h = e.getUint16(t + 2, !o), f = e.getUint32(t + 4, !o), d = e.getUint32(t + 8, !o) + n;
        switch (h) {
          case 1:
          case 7:
            if (1 == f) return e.getUint8(t + 8, !o);
            for (r = f > 4 ? d : t + 8, a = [], l = 0; l < f; l++) a[l] = e.getUint8(r + l);
            return a;
          case 2:
            return r = f > 4 ? d : t + 8, p(e, r, f - 1);
          case 3:
            if (1 == f) return e.getUint16(t + 8, !o);
            for (r = f > 2 ? d : t + 8, a = [], l = 0; l < f; l++) a[l] = e.getUint16(r + 2 * l, !o);
            return a;
          case 4:
            if (1 == f) return e.getUint32(t + 8, !o);
            for (a = [], l = 0; l < f; l++) a[l] = e.getUint32(d + 4 * l, !o);
            return a;
          case 5:
            if (1 == f) return c = e.getUint32(d, !o), u = e.getUint32(d + 4, !o), s = new Number(c / u), s.numerator = c, s.denominator = u, s;
            for (a = [], l = 0; l < f; l++) c = e.getUint32(d + 8 * l, !o), u = e.getUint32(d + 4 + 8 * l, !o), a[l] = new Number(c / u), a[l].numerator = c, a[l].denominator = u;
            return a;
          case 9:
            if (1 == f) return e.getInt32(t + 8, !o);
            for (a = [], l = 0; l < f; l++) a[l] = e.getInt32(d + 4 * l, !o);
            return a;
          case 10:
            if (1 == f) return e.getInt32(d, !o) / e.getInt32(d + 4, !o);
            for (a = [], l = 0; l < f; l++) a[l] = e.getInt32(d + 8 * l, !o) / e.getInt32(d + 4 + 8 * l, !o);
            return a
        }
      }

      function f(e, t, n) {
        var i = e.getUint16(t, !n);
        return e.getUint32(t + 2 + 12 * i, !n)
      }

      function d(e, t, n, i) {
        var o = f(e, t + n, i);
        if (!o) return {};
        if (o > e.byteLength) return {};
        var r = u(e, t, t + o, P, i);
        if (r.Compression) switch (r.Compression) {
          case 6:
            if (r.JpegIFOffset && r.JpegIFByteCount) {
              var a = t + r.JpegIFOffset, s = r.JpegIFByteCount;
              r.blob = new Blob([new Uint8Array(e.buffer, a, s)], {type: "image/jpeg"})
            }
            break;
          case 1:
            console.log("Thumbnail image format is TIFF, which is not implemented.");
            break;
          default:
            console.log("Unknown thumbnail image format '%s'", r.Compression)
        } else 2 == r.PhotometricInterpretation && console.log("Thumbnail image format is RGB, which is not implemented.");
        return r
      }

      function p(e, t, n) {
        for (var i = "", o = t; o < t + n; o++) i += String.fromCharCode(e.getUint8(o));
        return i
      }

      function m(e, t) {
        if ("Exif" != p(e, t, 4)) return _ && console.log("Not valid EXIF data! " + p(e, t, 4)), !1;
        var n, i, o, r, a, s = t + 6;
        if (18761 == e.getUint16(s)) n = !1; else {
          if (19789 != e.getUint16(s)) return _ && console.log("Not valid TIFF data! (no 0x4949 or 0x4D4D)"), !1;
          n = !0
        }
        if (42 != e.getUint16(s + 2, !n)) return _ && console.log("Not valid TIFF data! (no 0x002A)"), !1;
        var l = e.getUint32(s + 4, !n);
        if (l < 8) return _ && console.log("Not valid TIFF data! (First offset less than 8)", e.getUint32(s + 4, !n)), !1;
        if (i = u(e, s, s + l, T, n), i.ExifIFDPointer) {
          r = u(e, s, s + i.ExifIFDPointer, x, n);
          for (o in r) {
            switch (o) {
              case"LightSource":
              case"Flash":
              case"MeteringMode":
              case"ExposureProgram":
              case"SensingMethod":
              case"SceneCaptureType":
              case"SceneType":
              case"CustomRendered":
              case"WhiteBalance":
              case"GainControl":
              case"Contrast":
              case"Saturation":
              case"Sharpness":
              case"SubjectDistanceRange":
              case"FileSource":
                r[o] = k[o][r[o]];
                break;
              case"ExifVersion":
              case"FlashpixVersion":
                r[o] = String.fromCharCode(r[o][0], r[o][1], r[o][2], r[o][3]);
                break;
              case"ComponentsConfiguration":
                r[o] = k.Components[r[o][0]] + k.Components[r[o][1]] + k.Components[r[o][2]] + k.Components[r[o][3]]
            }
            i[o] = r[o]
          }
        }
        if (i.GPSInfoIFDPointer) {
          a = u(e, s, s + i.GPSInfoIFDPointer, S, n);
          for (o in a) {
            switch (o) {
              case"GPSVersionID":
                a[o] = a[o][0] + "." + a[o][1] + "." + a[o][2] + "." + a[o][3]
            }
            i[o] = a[o]
          }
        }
        return i.thumbnail = d(e, s, l, n), i
      }

      function g(e) {
        if ("DOMParser" in self) {
          var t = new DataView(e);
          if (_ && console.log("Got file of length " + e.byteLength), 255 != t.getUint8(0) || 216 != t.getUint8(1)) return _ && console.log("Not a valid JPEG"), !1;
          for (var n = 2, i = e.byteLength, o = new DOMParser; n < i - 4;) {
            if ("http" == p(t, n, 4)) {
              var r = n - 1, a = t.getUint16(n - 2) - 1, s = p(t, r, a), l = s.indexOf("xmpmeta>") + 8;
              s = s.substring(s.indexOf("<x:xmpmeta"), l);
              var c = s.indexOf("x:xmpmeta") + 10;
              s = s.slice(0, c) + 'xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" xmlns:ext="http://www.gettyimages.com/xsltExtension/1.0" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/" xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/" xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/" ' + s.slice(c);
              return y(o.parseFromString(s, "text/xml"))
            }
            n++
          }
        }
      }

      function v(e) {
        var t = {};
        if (1 == e.nodeType) {
          if (e.attributes.length > 0) {
            t["@attributes"] = {};
            for (var n = 0; n < e.attributes.length; n++) {
              var i = e.attributes.item(n);
              t["@attributes"][i.nodeName] = i.nodeValue
            }
          }
        } else if (3 == e.nodeType) return e.nodeValue;
        if (e.hasChildNodes()) for (var o = 0; o < e.childNodes.length; o++) {
          var r = e.childNodes.item(o), a = r.nodeName;
          if (null == t[a]) t[a] = v(r); else {
            if (null == t[a].push) {
              var s = t[a];
              t[a] = [], t[a].push(s)
            }
            t[a].push(v(r))
          }
        }
        return t
      }

      function y(e) {
        try {
          var t = {};
          if (e.children.length > 0) for (var n = 0; n < e.children.length; n++) {
            var i = e.children.item(n), o = i.attributes;
            for (var r in o) {
              var a = o[r], s = a.nodeName, l = a.nodeValue;
              void 0 !== s && (t[s] = l)
            }
            var c = i.nodeName;
            if (void 0 === t[c]) t[c] = v(i); else {
              if (void 0 === t[c].push) {
                var u = t[c];
                t[c] = [], t[c].push(u)
              }
              t[c].push(v(i))
            }
          } else t = e.textContent;
          return t
        } catch (e) {
          console.log(e.message)
        }
      }

      var _ = !1, b = this, w = function e(t) {
        return t instanceof e ? t : this instanceof e ? void(this.EXIFwrapped = t) : new e(t)
      };
      "undefined" != typeof exports ? (void 0 !== e && e.exports && (exports = e.exports = w), exports.EXIF = w) : b.EXIF = w;
      var x = w.Tags = {
        36864: "ExifVersion",
        40960: "FlashpixVersion",
        40961: "ColorSpace",
        40962: "PixelXDimension",
        40963: "PixelYDimension",
        37121: "ComponentsConfiguration",
        37122: "CompressedBitsPerPixel",
        37500: "MakerNote",
        37510: "UserComment",
        40964: "RelatedSoundFile",
        36867: "DateTimeOriginal",
        36868: "DateTimeDigitized",
        37520: "SubsecTime",
        37521: "SubsecTimeOriginal",
        37522: "SubsecTimeDigitized",
        33434: "ExposureTime",
        33437: "FNumber",
        34850: "ExposureProgram",
        34852: "SpectralSensitivity",
        34855: "ISOSpeedRatings",
        34856: "OECF",
        37377: "ShutterSpeedValue",
        37378: "ApertureValue",
        37379: "BrightnessValue",
        37380: "ExposureBias",
        37381: "MaxApertureValue",
        37382: "SubjectDistance",
        37383: "MeteringMode",
        37384: "LightSource",
        37385: "Flash",
        37396: "SubjectArea",
        37386: "FocalLength",
        41483: "FlashEnergy",
        41484: "SpatialFrequencyResponse",
        41486: "FocalPlaneXResolution",
        41487: "FocalPlaneYResolution",
        41488: "FocalPlaneResolutionUnit",
        41492: "SubjectLocation",
        41493: "ExposureIndex",
        41495: "SensingMethod",
        41728: "FileSource",
        41729: "SceneType",
        41730: "CFAPattern",
        41985: "CustomRendered",
        41986: "ExposureMode",
        41987: "WhiteBalance",
        41988: "DigitalZoomRation",
        41989: "FocalLengthIn35mmFilm",
        41990: "SceneCaptureType",
        41991: "GainControl",
        41992: "Contrast",
        41993: "Saturation",
        41994: "Sharpness",
        41995: "DeviceSettingDescription",
        41996: "SubjectDistanceRange",
        40965: "InteroperabilityIFDPointer",
        42016: "ImageUniqueID"
      }, T = w.TiffTags = {
        256: "ImageWidth",
        257: "ImageHeight",
        34665: "ExifIFDPointer",
        34853: "GPSInfoIFDPointer",
        40965: "InteroperabilityIFDPointer",
        258: "BitsPerSample",
        259: "Compression",
        262: "PhotometricInterpretation",
        274: "Orientation",
        277: "SamplesPerPixel",
        284: "PlanarConfiguration",
        530: "YCbCrSubSampling",
        531: "YCbCrPositioning",
        282: "XResolution",
        283: "YResolution",
        296: "ResolutionUnit",
        273: "StripOffsets",
        278: "RowsPerStrip",
        279: "StripByteCounts",
        513: "JPEGInterchangeFormat",
        514: "JPEGInterchangeFormatLength",
        301: "TransferFunction",
        318: "WhitePoint",
        319: "PrimaryChromaticities",
        529: "YCbCrCoefficients",
        532: "ReferenceBlackWhite",
        306: "DateTime",
        270: "ImageDescription",
        271: "Make",
        272: "Model",
        305: "Software",
        315: "Artist",
        33432: "Copyright"
      }, S = w.GPSTags = {
        0: "GPSVersionID",
        1: "GPSLatitudeRef",
        2: "GPSLatitude",
        3: "GPSLongitudeRef",
        4: "GPSLongitude",
        5: "GPSAltitudeRef",
        6: "GPSAltitude",
        7: "GPSTimeStamp",
        8: "GPSSatellites",
        9: "GPSStatus",
        10: "GPSMeasureMode",
        11: "GPSDOP",
        12: "GPSSpeedRef",
        13: "GPSSpeed",
        14: "GPSTrackRef",
        15: "GPSTrack",
        16: "GPSImgDirectionRef",
        17: "GPSImgDirection",
        18: "GPSMapDatum",
        19: "GPSDestLatitudeRef",
        20: "GPSDestLatitude",
        21: "GPSDestLongitudeRef",
        22: "GPSDestLongitude",
        23: "GPSDestBearingRef",
        24: "GPSDestBearing",
        25: "GPSDestDistanceRef",
        26: "GPSDestDistance",
        27: "GPSProcessingMethod",
        28: "GPSAreaInformation",
        29: "GPSDateStamp",
        30: "GPSDifferential"
      }, P = w.IFD1Tags = {
        256: "ImageWidth",
        257: "ImageHeight",
        258: "BitsPerSample",
        259: "Compression",
        262: "PhotometricInterpretation",
        273: "StripOffsets",
        274: "Orientation",
        277: "SamplesPerPixel",
        278: "RowsPerStrip",
        279: "StripByteCounts",
        282: "XResolution",
        283: "YResolution",
        284: "PlanarConfiguration",
        296: "ResolutionUnit",
        513: "JpegIFOffset",
        514: "JpegIFByteCount",
        529: "YCbCrCoefficients",
        530: "YCbCrSubSampling",
        531: "YCbCrPositioning",
        532: "ReferenceBlackWhite"
      }, k = w.StringValues = {
        ExposureProgram: {
          0: "Not defined",
          1: "Manual",
          2: "Normal program",
          3: "Aperture priority",
          4: "Shutter priority",
          5: "Creative program",
          6: "Action program",
          7: "Portrait mode",
          8: "Landscape mode"
        },
        MeteringMode: {
          0: "Unknown",
          1: "Average",
          2: "CenterWeightedAverage",
          3: "Spot",
          4: "MultiSpot",
          5: "Pattern",
          6: "Partial",
          255: "Other"
        },
        LightSource: {
          0: "Unknown",
          1: "Daylight",
          2: "Fluorescent",
          3: "Tungsten (incandescent light)",
          4: "Flash",
          9: "Fine weather",
          10: "Cloudy weather",
          11: "Shade",
          12: "Daylight fluorescent (D 5700 - 7100K)",
          13: "Day white fluorescent (N 4600 - 5400K)",
          14: "Cool white fluorescent (W 3900 - 4500K)",
          15: "White fluorescent (WW 3200 - 3700K)",
          17: "Standard light A",
          18: "Standard light B",
          19: "Standard light C",
          20: "D55",
          21: "D65",
          22: "D75",
          23: "D50",
          24: "ISO studio tungsten",
          255: "Other"
        },
        Flash: {
          0: "Flash did not fire",
          1: "Flash fired",
          5: "Strobe return light not detected",
          7: "Strobe return light detected",
          9: "Flash fired, compulsory flash mode",
          13: "Flash fired, compulsory flash mode, return light not detected",
          15: "Flash fired, compulsory flash mode, return light detected",
          16: "Flash did not fire, compulsory flash mode",
          24: "Flash did not fire, auto mode",
          25: "Flash fired, auto mode",
          29: "Flash fired, auto mode, return light not detected",
          31: "Flash fired, auto mode, return light detected",
          32: "No flash function",
          65: "Flash fired, red-eye reduction mode",
          69: "Flash fired, red-eye reduction mode, return light not detected",
          71: "Flash fired, red-eye reduction mode, return light detected",
          73: "Flash fired, compulsory flash mode, red-eye reduction mode",
          77: "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",
          79: "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",
          89: "Flash fired, auto mode, red-eye reduction mode",
          93: "Flash fired, auto mode, return light not detected, red-eye reduction mode",
          95: "Flash fired, auto mode, return light detected, red-eye reduction mode"
        },
        SensingMethod: {
          1: "Not defined",
          2: "One-chip color area sensor",
          3: "Two-chip color area sensor",
          4: "Three-chip color area sensor",
          5: "Color sequential area sensor",
          7: "Trilinear sensor",
          8: "Color sequential linear sensor"
        },
        SceneCaptureType: {0: "Standard", 1: "Landscape", 2: "Portrait", 3: "Night scene"},
        SceneType: {1: "Directly photographed"},
        CustomRendered: {0: "Normal process", 1: "Custom process"},
        WhiteBalance: {0: "Auto white balance", 1: "Manual white balance"},
        GainControl: {0: "None", 1: "Low gain up", 2: "High gain up", 3: "Low gain down", 4: "High gain down"},
        Contrast: {0: "Normal", 1: "Soft", 2: "Hard"},
        Saturation: {0: "Normal", 1: "Low saturation", 2: "High saturation"},
        Sharpness: {0: "Normal", 1: "Soft", 2: "Hard"},
        SubjectDistanceRange: {0: "Unknown", 1: "Macro", 2: "Close view", 3: "Distant view"},
        FileSource: {3: "DSC"},
        Components: {0: "", 1: "Y", 2: "Cb", 3: "Cr", 4: "R", 5: "G", 6: "B"}
      }, E = {
        120: "caption",
        110: "credit",
        25: "keywords",
        55: "dateCreated",
        80: "byline",
        85: "bylineTitle",
        122: "captionWriter",
        105: "headline",
        116: "copyright",
        15: "category"
      };
      w.enableXmp = function () {
        w.isXmpEnabled = !0
      }, w.disableXmp = function () {
        w.isXmpEnabled = !1
      }, w.getData = function (e, n) {
        return !((self.Image && e instanceof self.Image || self.HTMLImageElement && e instanceof self.HTMLImageElement) && !e.complete) && (t(e) ? n && n.call(e) : a(e, n), !0)
      }, w.getTag = function (e, n) {
        if (t(e)) return e.exifdata[n]
      }, w.getIptcTag = function (e, n) {
        if (t(e)) return e.iptcdata[n]
      }, w.getAllTags = function (e) {
        if (!t(e)) return {};
        var n, i = e.exifdata, o = {};
        for (n in i) i.hasOwnProperty(n) && (o[n] = i[n]);
        return o
      }, w.getAllIptcTags = function (e) {
        if (!t(e)) return {};
        var n, i = e.iptcdata, o = {};
        for (n in i) i.hasOwnProperty(n) && (o[n] = i[n]);
        return o
      }, w.pretty = function (e) {
        if (!t(e)) return "";
        var n, o = e.exifdata, r = "";
        for (n in o) o.hasOwnProperty(n) && ("object" == i()(o[n]) ? o[n] instanceof Number ? r += n + " : " + o[n] + " [" + o[n].numerator + "/" + o[n].denominator + "]\r\n" : r += n + " : [" + o[n].length + " values]\r\n" : r += n + " : " + o[n] + "\r\n");
        return r
      }, w.readFromBinaryFile = function (e) {
        return s(e)
      }, "function" == typeof define && n(111) && define("exif-js", [], function () {
        return w
      })
    }).call(this)
  }.call(t, n(110)(e))
}, function (e, t) {
  !function (e, t) {
    function n() {
      var t = r.getBoundingClientRect().width;
      t / l > 540 && (t = 540 * l);
      var n = t / 10;
      r.style.fontSize = n + "px", u.rem = e.rem = n
    }

    var i, o = e.document, r = o.documentElement, a = o.querySelector('meta[name="viewport"]'),
      s = o.querySelector('meta[name="flexible"]'), l = 0, c = 0, u = t.flexible || (t.flexible = {});
    if (a) {
      console.warn("灏嗘牴鎹凡鏈夌殑meta鏍囩鏉ヨ缃缉鏀炬瘮渚�");
      var h = a.getAttribute("content").match(/initial\-scale=([\d\.]+)/);
      h && (c = parseFloat(h[1]), l = parseInt(1 / c))
    } else if (s) {
      var f = s.getAttribute("content");
      if (f) {
        var d = f.match(/initial\-dpr=([\d\.]+)/), p = f.match(/maximum\-dpr=([\d\.]+)/);
        d && (l = parseFloat(d[1]), c = parseFloat((1 / l).toFixed(2))), p && (l = parseFloat(p[1]), c = parseFloat((1 / l).toFixed(2)))
      }
    }
    if (!l && !c) {
      var m = (e.navigator.appVersion.match(/android/gi), e.navigator.appVersion.match(/iphone/gi)),
        g = e.devicePixelRatio;
      l = m ? g >= 3 && (!l || l >= 3) ? 3 : g >= 2 && (!l || l >= 2) ? 2 : 1 : 1, c = 1 / l
    }
    if (r.setAttribute("data-dpr", l), !a) if (a = o.createElement("meta"), a.setAttribute("name", "viewport"), a.setAttribute("content", "initial-scale=" + c + ", maximum-scale=" + c + ", minimum-scale=" + c + ", user-scalable=no"), r.firstElementChild) r.firstElementChild.appendChild(a); else {
      var v = o.createElement("div");
      v.appendChild(a), o.write(v.innerHTML)
    }
    e.addEventListener("resize", function () {
      clearTimeout(i), i = setTimeout(n, 300)
    }, !1), e.addEventListener("pageshow", function (e) {
      e.persisted && (clearTimeout(i), i = setTimeout(n, 300))
    }, !1), "complete" === o.readyState ? o.body.style.fontSize = 12 * l + "px" : o.addEventListener("DOMContentLoaded", function (e) {
      o.body.style.fontSize = 12 * l + "px"
    }, !1), n(), u.dpr = e.dpr = l, u.refreshRem = n, u.rem2px = function (e) {
      var t = parseFloat(e) * this.rem;
      return "string" == typeof e && e.match(/rem$/) && (t += "px"), t
    }, u.px2rem = function (e) {
      var t = parseFloat(e) / this.rem;
      return "string" == typeof e && e.match(/px$/) && (t += "rem"), t
    }
  }(window, window.lib || (window.lib = {}))
}, function (e, t) {
}, function (e, t) {
}, function (e, t, n) {
  "use strict";
  Object.defineProperty(t, "__esModule", {value: !0}), n.d(t, "setConfig", function () {
    return s
  });
  var i = n(30), o = n.n(i), r = n(36), a = r.requestWxConfig, s = function (e) {
    return new o.a(function (t, n) {
      a(e).then(function (e) {
        if (0 == e.code) {
          var t = e.data;
          wx.config({
            debug: !1,
            appId: t.appId,
            timestamp: t.timeStamp,
            nonceStr: t.nonceStr,
            signature: t.sign,
            jsApiList: ["chooseImage", "getLocalImgData"]
          })
        }
      }).catch(function (e) {
        n(e)
      })
    })
  }
}], [112]);